import { IPublicTypeComponentMetadata, IPublicTypeSnippet } from '@alilc/lowcode-types'; import RuleSetter from '../setter/RuleSetter'; const FormCascaderSingleMeta: IPublicTypeComponentMetadata = { componentName: 'FormCascaderSingle', title: '级联单选', docUrl: '', screenshot: '', devMode: 'proCode', category: '表单组件', group: '精选组件', npm: { package: 'temp-materials', version: '0.1.2', exportName: 'FormCascaderSingle', main: 'src\\index.tsx', destructuring: true, subName: '', }, configure: { props: [ { title: { label:'标题', tip:'表单项名称,后续生成表格时,转化为表格列名' }, name: 'title', setter: 'StringSetter', defaultValue: '级联单选', }, // { // title: { // label:'动态数据', // tip:'是否动态获取数据' // }, // name: 'dynamic', // setter: 'BoolSetter', // }, { title: { label:'选项', tip:'配置下拉级联的选项' }, condition: (target) => { return !target.parent.getPropValue('dynamic'); }, name: 'options', setter: 'JsonSetter', }, // { // title: { // label:'选项', // tip:'动态获取下拉级联的选项' // }, // condition: (target) => { // return target.parent.getPropValue('dynamic'); // }, // name: 'dynamicOptions', // setter: { // componentName:'SelectSetter', // props:{ // options:[ // {title:'组织树',value:'组织树'} // ] // } // }, // defaultValue: '组织树', // }, // 列数 { title: { label:'列数', tip:'设置组件自身的布局,可选择继承表单组件的值,有限度高于表单组件布局属性' }, name: 'column', setter: { componentName: 'RadioGroupSetter', props: { options: [ { label: '一栏', value: 24, }, { label: '两栏', value: 12, }, { label: '继承', value: 0, }, ], }, }, }, // 是否展示边框 { title: { label:'边框', tip:'组件是否显示边框' }, name: 'bordered', setter: 'BoolSetter', }, { display: 'block', title: { label:'校验', tip:'可选择内置的校验规则' }, name: 'rules', setter: { componentName: RuleSetter, props: { type: ['REQUIRED'], }, }, }, ], supports: { // style: true, }, component: { nestingRule: { parentWhitelist: ['Form'], }, }, }, }; const snippets: IPublicTypeSnippet[] = [ { title: '级联单选', screenshot: '', schema: { componentName: 'FormCascaderSingle', props: { // 后端识别类型 fieldType: 'string', dynamic:false, dynamicOptions:'组织树', options: [ { value: 'zhejiang', label: '浙江', children: [ { value: 'hangzhou', label: '杭州', children: [ { value: 'xihu', label: '西湖', }, ], }, ], }, { value: 'jiangsu', label: '江苏', children: [ { value: 'nanjing', label: '南京', children: [ { value: 'zhonghuamen', label: '中华门', }, ], }, ], }, ], }, }, }, ]; export default { ...FormCascaderSingleMeta, snippets, };