/** * @file 列表组件对接编辑器的描述文件 */ export class CmpPlugin { /** * rendererName 为自定义组件名称,用于标识组件的唯一性 * 在构建时根据当前组件目录名称自动生成 */ // rendererName: string = 'list-widget'; // 组件名称,用于设置在编辑器左侧组件面板中展示的名称 name: string = '列表组件'; // 组件描述,用于设置在编辑器左侧组件面板中展示的描述 description: string = '支持配置的列表展示组件,内置模拟数据'; // 分类标签,用于设置在编辑器左侧组件面板哪个分类中展示(可设置多个分类标签) tags: string[] = ['自定义组件']; // 组件图标,用于设置在编辑器左侧组件面板中展示的图标 iconSrc: string = 'https://neo-widgets.bj.bcebos.com/favicon.png'; // iconSrc: string = 'https://custom-widgets.bj.bcebos.com/custom-icon1.svg'; // custom-icon2 // 初次插入页面的默认属性数据 scaffold = { title: '内容列表', label: '列表组件', showImage: true, showTags: true, itemCount: 8, listType: 'default', }; // 设计器端预览时展示的默认数据 previewSchema = { label: '列表组件', }; panelTitle = '配置'; /** * 组件面板配置,用于生成编辑器右侧属性配置面板内容 */ panelBodyCreator = () => { return [ { type: 'input-text', name: 'title', label: '列表标题', value: '内容列表', }, { type: 'switch', name: 'showImage', label: '显示图片', value: true, }, { type: 'switch', name: 'showTags', label: '显示标签', value: true, }, { type: 'input-number', name: 'itemCount', label: '列表项数量', value: 8, min: 1, max: 50, }, { type: 'radios', name: 'listType', label: '列表样式', value: 'default', options: [ { label: '默认样式', value: 'default' }, { label: '卡片样式', value: 'card' }, { label: '简洁样式', value: 'simple' }, ], }, ]; }; } export default CmpPlugin;