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 |
|---|
| Display Headlines | labelVisible | boolean | Default value: true |
| Title alignment | labelAlign | string | In the scenario, the form by default follows the title alignment configuration of the form container. |
| Line break in heading | labelWrap | boolean | If the title content is too long when closed, show one line with overflow omitted; when enabled, show with line breaks. In form scenarios, it follows the form container's title line break configuration by default. |
| Title position | layout | string | Set title display position in form component. In the scenario, it follows the title position configuration of the form container by default. |
| Title width | labelWidth | string | In the scenario, the form follows the title width configuration of the form container by default. |
| Heading Note | labelTips | string | Configure tooltip content for the heading |
| Prompt. | extra | string | The prompt content is displayed below the input box after configuration. |
| automatically obtain focus | focus | boolean | After enabled, the cursor automatically positions to the input box when page loading completes. |
| Display underscore on mobile terminal | borderedH5 | boolean | After closing, the mobile terminal does not show the bottom underline Default value: true |
| Verification rule | rules | array | Default value: [] |
| Status. | status | string | Example: "edit" |
| Required | required | boolean | |
| Required identifier | requiredFlag | boolean | Enabled, the component will display a required asterisk tag if mandatory. Default value: true |
| Required validation note | requiredMsg | string | Example: "该项为必填项" |
| Bound field | name | string | The Key value of a form field is used to match the field identifier of the data model when submitting data. It must be unique within the form. Example: "formCodeEditor" |
| Title content. | label | string | Example: "标题" |
| Supported Languages | language | string | Example: "javascript" |
| Topic | theme | string | Example: "githubLight" |
| input value | value | string | Example: "" |
| Placeholder text | placeholder | string | Example: "请输入" |
| PC component dimension | size | string | Size configuration is only applicable to PC and takes effect by default in form container scenarios. |
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 |
|---|
| value change | change | object
| Compatible with all platforms | Trigger when a user modifies a component value |
| code editor ready | ready | Compatible with all platforms | The code editor has completed instance initialization. |
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 |
|---|
| Bound field | name | string | The Key value of a form field is used to match the field identifier of the data model when submitting data. It must be unique within the form. |
| Title content. | label | string | |
| input value | value | string | |
| Required | required | boolean | |
| Indicates whether to display | visible | boolean | Whether to display the component |
| Whether to disable | disabled | boolean | Component Disabled |
| Specify whether it is read-only or not. | readOnly | boolean | Whether the component is read-only |
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 |
|---|
| set value | setValue | string值 | 通过 $w.id1.setValue("weda") 设置组件值 |
| Show/Hide Settings | setVisible | boolean显示 | Set the component to hidden via $w.id1.setVisible(false) |
| Set Disabled | setDisabled | boolean禁用 | Set the component to disabled with $w.id1.setDisabled(true) |
| Clear value | clearValue | Clear the component value with $w.id1.clearValue() | |
| Set as read-only | setReadOnly | boolean只读 | Set the component to read-only via $w.id1.setReadOnly(true) |
| Trigger validation | handleValidate | Validate the component value via $w.id1.handleValidate() | |
| Clear verification | clearValidate | Clear component validation via $w.id1.clearValidate() | |
| format js | format | object
| Currently only support formatting component values in 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 |
|---|
| root element | .wd-codeEditor-root | Outermost component element |
| H5 root element | .wd-h5-codeEditor-root | Settable root element style for the H5 side |
| PC-side root element | .wd-pc-codeEditor-root | Settable root element style for the PC side |
| Component title style | .wd-codeEditor-root .wd-form-item-wrap__label | Component title element |
| form control root node style | .wd-codeEditor-root .wd-form-item-wrap__control | Set form control root element style |
| Input box style - editing status | .wd-codeEditor-root .wd-form-input-wrap | Component border, margin style, background color, font size, font color |
| Editing status - Verification information | .wd-codeEditor-root .wd-g-text-error | Set component verification information style |
| prompt text | .wd-codeEditor-root .wd-form-item__help-text | Set the text style of the component prompt |
| Disabled state - Input box style | .wd-codeEditor-root .wd-form-input-wrap.is-disabled | Component disabled style |
| read-only status - form value style | .wd-codeEditor-root .wd-form-item__readonly-value | Set component read-only status |
Version Changes
- Property changes
- Style changes
- widget api changes