form-create-designer中怎么扩展自定义组件

简介: 该内容是关于在某个框架(可能是Vue)中导入和使用自定义组件的教程。首先,通过`import`语句引入自定义组件`MyButton`和`FcDesigner`。然后,使用`FcDesigner.component()`或`app.component()`方法挂载组件。接着,定义组件的拖拽规则,包括其在菜单的位置、图标、名称和唯一ID,以及组件的渲染和属性配置规则。最后,将组件的拖拽规则挂载到设计器(`$refs.designer`)中,以便在界面上使用。

1.导入并挂载自定义组件

//导入自定义组件

import MyButton from './button.Vue';

import FcDesigner from '@form-create/designer';

//挂载自定义组件

FcDesigner.component('MyButton', MyButton);

//或者全局挂载

app.component('MyButton', MyButton);

2.定义组件的拖拽规则

const buttonRule = {

   //插入菜单位置

   menu: 'aide',

   //图标

   icon: 'icon-button',

   //名称

   label: '按钮',

   //id,唯一!

   name: 'MyButton',

   //是否可以操作, 除了容器类组件建议为true !

   mask: true,//定义组件的渲染规则

   rule({t}) {

         //自定义组件的生成规则

       return {

           type: 'MyButton',

           props: {},

           children: ['按钮'],

       };

   },

     //自定义组件的属性配置

   props(_, {t}) {

       return [{

           //修改rule.children[0]

           type: 'input',

             title: '内容',

           field: 'formCreateChild',

       }, {

           //修改rule.props.size

           type: 'select',

             title: '尺寸',

           field: 'size',

           options: [

             {label: 'large', value: 'large'},

             {label: 'default', value: 'default'},

             {label: 'small',value: 'small'}

           ]

       }];

   }

};

3.挂载组件的拖拽规则

//挂载拖拽规则

this.$refs.designer.addComponent(buttonRule);

this.$refs.designer.appendMenuItem('main', {

   icon: 'icon-button',

   label: '按钮',

   name: 'MyButton',
});


相关文章
|
JavaScript 前端开发
【报错】unhandled error during execution of watcher callback
JavaScript错误`unhandled error during execution of watcher callback`在Echarts图表渲染时出现,通常是因数据未获取到就尝试渲染导致。解决方法是在渲染前添加非空判断,如`if(value){开始渲染数据}`或`if(value !== undefined){开始渲染数据}`,确保数据加载完成后再执行渲染。
1176 0
|
前端开发
react-grapesjs——开源代码学习与修改(初出茅庐)(一)
react-grapesjs——开源代码学习与修改(初出茅庐)
345 0
|
前端开发 JavaScript
vue3.0 bpmn-js + TS 简易教程
bpmn.js是一个BPMN2.0渲染工具包和web建模器, 使得画流程图的功能在前端来完成. 这里主要记录本人在开发bpmn中的流程
1661 0
|
JavaScript 前端开发
vue 部署项目,访问页面空白,找不到js或css文件 (net::ERR_ABORTED 404 (Not Found))
vue 部署项目,访问页面空白,找不到js或css文件 (net::ERR_ABORTED 404 (Not Found))
3654 0
vue 部署项目,访问页面空白,找不到js或css文件 (net::ERR_ABORTED 404 (Not Found))
|
3月前
|
JSON 监控 前端开发
AMIS:百度开源的前端低代码神器,18.4k star 背后的开发效率提升利器
AMIS(前端低代码框架)是百度开源的低代码前端框架,基于纯 JSON 配置即可生成完整后台页面,包括表单、表格、图表、CRUD 列表,支持可视化拖拽编辑。,星标数已达 18.4k,百度内部已沉淀超过 5 万个页面,广泛应用于审核系统、数据管理后台、模型监控等落地场景
766 0
|
数据格式
使用小技巧实现el-table组件的合并行功能,ElementUI和ElementPlus都适用
本文介绍了在ElementUI和ElementPlus中使用`el-table`组件实现合并行功能的技巧,包括多列合并和单列合并的方法,并提供了相应的示例代码和运行效果。
9870 1
使用小技巧实现el-table组件的合并行功能,ElementUI和ElementPlus都适用
|
JavaScript 前端开发
【Vue 3】如何实现动态表单生成器的拖拽功能?
【Vue 3】如何实现动态表单生成器的拖拽功能?
|
XML JSON 前端开发
bpmn.js 使用常见问题(不定时持续更新)
bpmn.js 使用常见问题(不定时持续更新)
6626 2
|
移动开发 资源调度 JavaScript
【Vue 2】一个高效的低代码表单,可视化设计,一键生成源码,享受更多摸鱼时间!!
【Vue 2】一个高效的低代码表单,可视化设计,一键生成源码,享受更多摸鱼时间!!
|
存储 API
vue3中如何动态自定义创建组件并挂载
vue3中如何动态自定义创建组件并挂载
1069 90