使用高级 Chakra UI 组件更快地构建 💎

了解更多
跳到内容
文档在线演练场指南博客
赞助

可编辑

用于文本的行内重命名。

源代码Storybook实现方案Ark
点击编辑

用法

import { Editable } from "@chakra-ui/react"
<Editable.Root>
  <Editable.Preview />
  <Editable.Input />
</Editable.Root>

示例

双击

使用 activationMode 属性,用户双击时可编辑内容。

双击编辑

禁用

使用 disabled 属性禁用可编辑组件。

点击编辑

文本域

你可以让文本域可编辑。

点击编辑

带控制器

Editable 添加“编辑”、“取消”和“提交”等控件,以提供更好的用户体验。

点击编辑

受控

使用 valueonValueChange 属性来控制可编辑组件。

点击编辑

状态管理

控制可编辑组件的另一种方法是使用 RootProvider 组件和 useEditable 状态管理 Hook。

通过这种方式,你可以从可编辑组件外部访问其状态和方法。

点击编辑
未编辑

属性

属性默认值类型
activationMode '\'focus\''
ActivationMode

预览元素的激活模式。 - "focus" - 预览元素获得焦点时进入编辑模式 - "dblclick" - 预览元素被双击时进入编辑模式 - "click" - 预览元素被点击时进入编辑模式

selectOnFocus true
boolean

输入框获得焦点时是否选中文本。

submitMode '\'both\''
SubmitMode

在编辑模式下触发提交的操作: - "enter" - 按下回车键时触发提交 - "blur" - 可编辑组件失焦时触发提交 - "none" - 不会触发提交。你需要使用提交按钮 - "both" - 按下 `Enter` 键和输入框失焦都会触发提交

colorPalette 'gray'
'gray' | 'red' | 'orange' | 'yellow' | 'green' | 'teal' | 'blue' | 'cyan' | 'purple' | 'pink'

组件的调色板

size 'md'
'sm' | 'md' | 'lg'

组件的尺寸

asChild
boolean

使用提供的子元素作为默认渲染元素,结合它们的属性和行为。

有关更多详细信息,请阅读我们的 组合 指南。
autoResize
boolean

可编辑组件是否应自动调整大小以适应内容。

defaultEdit
boolean

可编辑组件首次渲染时的初始编辑状态。当你不需要控制其编辑状态时使用。

defaultValue
string

可编辑组件首次渲染时的初始值。当你不需要控制可编辑组件的状态时使用。

disabled
boolean

可编辑组件是否被禁用

edit
boolean

可编辑组件是否处于编辑模式。

finalFocusEl
() => HTMLElement | null

可编辑组件关闭时应获得焦点的元素。默认情况下,它将聚焦在触发元素上。

form
string

底层输入框关联的表单。

id
string

机器的唯一标识符。

ids
Partial<{ root: string area: string label: string preview: string input: string control: string submitTrigger: string cancelTrigger: string editTrigger: string }>

可编辑组件中元素的 ID。对于组合很有用。

invalid
boolean

输入值是否无效。

maxLength
number

可编辑组件允许的最大字符数

name
string

可编辑组件的名称属性。用于表单提交。

onEditChange
(details: EditChangeDetails) => void

编辑模式改变时调用的回调函数

onFocusOutside
(event: FocusOutsideEvent) => void

焦点移出组件时调用的函数

onInteractOutside
(event: InteractOutsideEvent) => void

组件外部发生交互时调用的函数

onPointerDownOutside
(event: PointerDownOutsideEvent) => void

指针在组件外部按下时调用的函数

onValueChange
(details: ValueChangeDetails) => void

可编辑组件的值改变时调用的回调函数

onValueCommit
(details: ValueChangeDetails) => void

可编辑组件的值提交时调用的回调函数。

onValueRevert
(details: ValueChangeDetails) => void

按下 Esc 键或点击取消按钮时调用的回调函数

placeholder
string | { edit: string; preview: string }

当 `value` 为空时显示的占位符值

readOnly
boolean

可编辑组件是否为只读

required
boolean

可编辑组件是否为必填项

translations
IntlTranslations

指定用于识别无障碍元素及其状态的本地化字符串

value
string

可编辑组件在编辑和预览模式下的值

上一页

抽屉

下一页

空状态