REAL SHOWCASE SOURCEtext-field-states
1 个文件 · 42 行 · TypeScript
// ===== showcase/src/examples/components/text_field.ts ===== import { RenderPageHeader, RenderStackPanel, RenderText, RenderTextBox,} from 'ds-ui' export function createTextFieldExample(): RenderStackPanel { const status = new RenderText('输入内容后,onChange 会在当前 Canvas Runtime 内即时触发') const panel = new RenderStackPanel({ orientation: 'vertical', spacing: 14, crossAxisAlignment: 'stretch' }) panel.addChild(new RenderPageHeader({ title: 'TextField 表单输入', description: '展示前后缀、清空、校验状态、只读与禁用等业务输入状态。', })) panel.addChild(new RenderTextBox({ value: 'ds-ui', placeholder: '输入项目名称', prefixText: '项目', clearable: true, maxLength: 32, onChange: value => { status.text = `项目名称:${value || '(空)'}` }, })) panel.addChild(new RenderTextBox({ value: 'https://example.com', prefixText: 'URL', suffixText: '↗', status: 'success', helperText: '地址格式有效', })) panel.addChild(new RenderTextBox({ value: 'invalid-address', status: 'error', helperText: '请输入完整的 https:// 地址', })) panel.addChild(new RenderTextBox({ value: '只读业务编号 CG-2026-0717', readonly: true })) panel.addChild(new RenderTextBox({ value: '禁用输入', disabled: true })) panel.addChild(status) panel.padding = 24 return panel}