Code Editor
WdCodeEditor
Applicable Scenarios
A code editor wrapped based on React CodeMirror. A form component used to assist with code input and display.
Basic Capabilities Description
Bind a Rich Text type field. Input value, placeholder text, and component size can be configured.
Supports language configuration. Currently, only JS, TypeScript, MongoDB, SQL, and MySQL are supported.
Supports switching between light and dark themes.
Supports personalized configuration of titles, including title content, alignment, line break behavior (when enabled, titles exceeding one line wrap; when disabled, titles exceeding one line truncate with ellipsis), title position, width, and title tooltip.
To learn more about usage scenarios for form components, refer to the Form Common Scenarios Practice Guide.
Example
Interactive Preview
Component Decoration
Component Size
Component Alignment
Component Input State
Component Style API Example
#wd-page-root .wd-form-item .wd-code-editor {
border-color: cyan;
color: cyan;
border-width: 2px;
border-radius: 6px;
--wd-color-text-placeholder: red;
}
Properties
External properties received by the component
Property Name | Property Identifier | Type | Description |
---|
显示标题 | labelVisible | boolean | Default value: true |
标题对齐 | labelAlign | string | 表单场景下默认会跟随表单容器的标题对齐配置 |
标题换行 | labelWrap | boolean | 如果标题内容过长关闭时只显示一行、溢出省略;开启时换行展示。表单场景下默认会跟随表单容器的标题换行配置 |
标题位置 | layout | string | 设置标题在表单组件的展示位置,表单场景下默认会跟随表单容器的标题的位置配置 |
标题宽度 | labelWidth | string | 表单场景下默认会跟随表单容器的标题宽度配置 |
标题提示 | labelTips | string | 配置标题的工具提示内容 |
下方提示 | extra | string | 配置后提示内容常显在输入框下方 |
自动获取焦点 | focus | boolean | 开启后页面加载后光标自动定位到该输入框 |
移动端显示下划线 | borderedH5 | boolean | 关闭后移动端不显示底部下划线 Default value: true |
校验规则 | rules | array | Default value: [] |
状态 | status | string | Example: "edit" |
必填 | required | boolean | |
必填标识 | requiredFlag | boolean | 启用后,组件若要求必填,则会显示必填星号标记 Default value: true |
必填校验提示 | requiredMsg | string | Example: "该项为必填项" |
绑定字段 | name | string | 表单字段的Key值,用于提交数据时,匹配数据模型字段标识。表单内需保证唯一。 Example: "formCodeEditor" |
标题内容 | label | string | Example: "标题" |
支持语言 | language | string | Example: "javascript" |
主题 | theme | string | Example: "githubLight" |
输入值 | value | string | Example: "" |
占位文字 | placeholder | string | Example: "请输入" |
PC端组件尺寸 | size | string | 尺寸配置仅对PC端生效,表单场景下默认会跟随表单容器的组件尺寸配置 |
Events
Events exposed by the component. You can listen to component events to trigger external actions
Event Name | Event Code | Event Output Parameters event.detail | Applicable Scenarios | Description |
---|
值改变 | change | object
| Compatible with all platforms | 用户修改组件值时触发 |
代码编辑器ready | ready | Compatible with all platforms | 当前代码编辑器已完成实例初始化 |
Property API
Through the Property API, you can access the internal state and property values of components. You can access internal values using$w.componentId.propertyName
, such as $w.input1.value
. For details, please refer to Property API
Read-only Property Name | Property Identifier | Type | Description |
---|
绑定字段 | name | string | 表单字段的Key值,用于提交数据时,匹配数据模型字段标识。表单内需保证唯一。 |
标题内容 | label | string | |
输入值 | value | string | |
必填 | required | boolean | |
是否展示 | visible | boolean | 组件是否展示 |
是否禁用 | disabled | boolean | 组件是否禁用 |
是否只读 | readOnly | boolean | 组件是否只读 |
Method API
Through the Method API, you can programmatically trigger internal methods of components, such as submitting forms, displaying popups, etc. You can call component methods using $w.componentId.methodName
, such as $w.form1.submit()
Method Name | Method Identifier | Parameters | Method Description |
---|
设置值 | setValue | string 值 | 通过 $w.id1.setValue("weda") 设置组件值 |
设置显隐 | setVisible | boolean 显示 | 通过 $w.id1.setVisible(false) 设置组件为隐藏 |
设置禁用 | setDisabled | boolean 禁用 | 通过 $w.id1.setDisabled(true) 设置组件为禁用 |
清空值 | clearValue | 通过 $w.id1.clearValue() 清空组件值 | |
设置只读 | setReadOnly | boolean 只读 | 通过 $w.id1.setReadOnly(true) 设置组件为只读 |
触发校验 | handleValidate | 通过 $w.id1.handleValidate() 校验组件值 | |
清除校验 | clearValidate | 通过 $w.id1.clearValidate() 清除组件校验 | |
js格式化 | format | object
| 目前仅支持js格式化组件值 |
Style API
Through the Style API, you can override the styles of internal elements in components to achieve customization. For example, in the low-code editor, you can write styles for all button components using #wd-page-root .wd-btn
, and control individual component styles with :scope
. For detailed instructions, please refer toStyle API
Name | Class Name | Description and Examples |
---|
根元素 | .wd-codeEditor-root | 组件最外层元素
|
H5 端根元素 | .wd-h5-codeEditor-root | 可设定 H5 端的根元素样式
|
PC 端根元素 | .wd-pc-codeEditor-root | 可设定 PC 端的根元素样式
|
组件标题样式 | .wd-codeEditor-root .wd-form-item-wrap__label | 组件标题元素
|
表单控件根节点样式 | .wd-codeEditor-root .wd-form-item-wrap__control | 设置表单控件根元素样式
|
编辑态-输入框样式 | .wd-codeEditor-root .wd-form-input-wrap | 组件边框、边距样式、背景色、字体大小、字体颜色等
|
编辑态-校验信息 | .wd-codeEditor-root .wd-g-text-error | 设置组件校验信息样式
|
提示文字 | .wd-codeEditor-root .wd-form-item__help-text | 设置组件提示文字样式
|
禁用态-输入框样式 | .wd-codeEditor-root .wd-form-input-wrap.is-disabled | 组件禁用样式
|
只读态-表单值样式 | .wd-codeEditor-root .wd-form-item__readonly-value | 设置组件只读状态
|
Version Changes
- Property changes
- Style changes
- widget api changes