REAL SHOWCASE SOURCEsearch-box
1 个文件 · 35 行 · TypeScript
// ===== showcase/src/examples/components/search_box.ts ===== import { RenderPageHeader, RenderSearchBox, RenderStackPanel, RenderText,} from 'ds-ui' export function createSearchBoxExample(): RenderStackPanel { const status = new RenderText('输入关键字后按 Enter,或点击右侧搜索图标') const panel = new RenderStackPanel({ orientation: 'vertical', spacing: 14, crossAxisAlignment: 'stretch' }) panel.addChild(new RenderPageHeader({ title: 'SearchBox 搜索输入', description: '即时过滤与显式提交可以分别绑定 onChange 和 onSearch。', })) panel.addChild(new RenderSearchBox({ value: '', placeholder: '搜索组件、API 或文档…', helperText: '输入时更新候选结果,Enter 提交完整查询', maxLength: 64, onChange: value => { status.text = value ? `即时过滤:${value}` : '已清空即时过滤' }, onSearch: value => { status.text = value ? `已提交搜索:${value}` : '已提交空查询' }, })) panel.addChild(new RenderSearchBox({ value: 'DataGrid', placeholder: '只读查询条件', readonly: true, helperText: '只读状态保留当前检索文本', })) panel.addChild(new RenderSearchBox({ value: '', placeholder: '搜索暂不可用', disabled: true })) panel.addChild(status) panel.padding = 24 return panel}