import { IPublicTypeComponentMetadata, IPublicTypeSnippet } from '@alilc/lowcode-types' const SelectMeta: IPublicTypeComponentMetadata = { group: '低代码组件', componentName: 'CustomSelect', title: '自定义选择器', docUrl: '', screenshot: '', devMode: 'proCode', category: '信息输入', npm: { package: '@dckj-npm/dc-material', version: '0.1.8', exportName: 'CustomSelect', main: 'src/index.tsx', destructuring: true, subName: '', }, configure: { props: [ { title: '数据源绑定', name: 'options', setter: { componentName: 'SetterFormVariable', props: { attributes: [ { label: '选项', value: 'options', children: [ { label: '值', isRequire: true, value: 'value' }, { label: '名称', isRequire: true, value: 'label' }, ], }, ], }, }, }, { title: '类型', name: 'popType', description: '类型', setter: { componentName: 'RadioGroupSetter', props: { dataSource: [ { label: '普通', value: 'normal' }, { label: '底部弹出', value: 'bottom' }, { label: '弹窗', value: 'dialog' }, ], options: [ { label: '普通', value: 'normal' }, { label: '底部弹出', value: 'bottom' }, { label: '弹窗', value: 'dialog' }, ], }, initialValue: 'bottom', }, }, { title: '选择类型', name: 'selectType', description: '选择类型', setter: { componentName: 'RadioGroupSetter', props: { dataSource: [ { label: '数字', value: 'number' }, { label: '字符串', value: 'string' }, { label: '颜色', value: 'color' }, ], options: [ { label: '数字', value: 'number' }, { label: '字符串', value: 'string' }, { label: '颜色', value: 'color' }, ], }, }, }, { title: '选项配置', name: 'dataList', description: '选项配置', setter: { componentName: 'ArraySetter', props: { itemSetter: { componentName: 'ObjectSetter', props: { config: { items: [ { title: '选项文字', name: 'label', description: '选项文字', setter: { componentName: 'StringSetter', isRequired: true, initialValue: '', }, }, { title: '选项值', name: 'value', description: '选项值', setter: { componentName: 'StringSetter', isRequired: true, initialValue: '', }, }, ], extraSetter: { componentName: 'MixedSetter', isRequired: false, props: {}, }, }, }, }, }, initialValue: [], }, }, { title: '选中值', name: 'value', description: '选中值', setter: { componentName: 'StringSetter', initialValue: '', }, }, { title: '前缀', name: 'prefix', description: '前缀', setter: { componentName: 'StringSetter', initialValue: '', }, }, { title: '按钮文字', name: 'btnText', description: '按钮文字', setter: { componentName: 'StringSetter', initialValue: '确认', }, }, { title: '弹窗标题', name: 'dialogTitle', description: '弹窗标题', setter: { componentName: 'StringSetter', initialValue: '请选择', }, }, ], supports: { style: true, events: [ { name: 'onChange', propType: 'func', description: '值发生变化', }, { name: 'onVisibleChange', propType: 'func', description: '弹层显示隐藏变化', } ], }, component: { disableBehaviors: ['copy'], }, }, } const snippets: IPublicTypeSnippet[] = [ { title: '自定义选择器', screenshot: '', schema: { componentName: 'CustomSelect', props: { popType: 'bottom', selectType: 'string', dataList: [], value: '', prefix: '', dialogTitle: '请选择', btnText: '确认', }, }, }, ] export default { ...SelectMeta, snippets }