import { uuid } from '../_utils/utils'; import snippets from './snippets'; export default { snippets, componentName: 'AntdMenu.SubMenu', title: '子菜单', group: '基础组件', props: [ { name: 'children', title: { label: '子菜单项', tip: 'children | 子菜单项' }, setter: { componentName: 'ArraySetter', props: { itemSetter: { componentName: 'ObjectSetter', props: { config: { items: [ { name: 'key', title: { label: 'key', tip: 'key | key' }, setter: 'StringSetter', initialValue: (val) => val || uuid(), }, { name: 'label', title: { label: '子菜单名', tip: 'label | 子菜单名' }, setter: 'StringSetter', }, { name: 'category', title: { label: '类型', tip: 'category | 菜单项类型', }, propType: { type: 'oneOf', value: ['AntdMenu.Item', 'AntdMenu.SubMenu', 'AntdMenu.ItemGroup'], }, setter: [ { componentName: 'RadioGroupSetter', props: { options: [ { title: 'Item', value: 'AntdMenu.Item', }, { title: 'SubMenu', value: 'AntdMenu.SubMenu', }, { title: 'ItemGroup', value: 'AntdMenu.ItemGroup', }, ], }, }, 'VariableSetter', ], }, ], }, }, initialValue: () => { return { key: `item-${uuid()}`, type: 'group', category: 'AntdMenu.Item', label: '子菜单名', }; }, }, }, }, // extraProps: itemsExtraProps, }, { name: 'danger', title: { label: '错误状态', tip: 'danger | 展示错误状态样式' }, propType: 'bool', defaultValue: true, }, { name: 'disabled', title: { label: '是否禁用', tip: 'disabled | 是否为禁用状态' }, propType: 'bool', defaultValue: false, }, { name: 'icon', title: { label: '菜单图标', tip: 'icon | 菜单图标' }, propType: { type: 'oneOfType', value: ['string', 'node'] }, defaultValue: false, }, { name: 'key', title: { label: '唯一标志', tip: 'key | item 的唯一标志' }, propType: 'string', }, { name: 'title', title: { label: '悬浮标题', tip: 'title | 设置收缩时展示的悬浮标题', }, propType: 'string', }, ], configure: { component: { isContainer: true, nestingRule: { parentWhitelist: ['AntdMenu'] }, }, supports: { style: true }, }, };