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 前端开发
VUE组件:如何在Vue中实现组件的动态引入?
VUE组件:如何在Vue中实现组件的动态引入?
2881 0
|
资源调度 JavaScript API
Vue-treeselect:为Vue应用程序提供强大选择器的指南
Vue-treeselect:为Vue应用程序提供强大选择器的指南
3086 0
|
JavaScript 前端开发
【Vue 3】如何实现动态表单生成器的拖拽功能?
【Vue 3】如何实现动态表单生成器的拖拽功能?
|
人工智能 JavaScript 开发工具
【完全免费】VS Code 最好用的 12 款 AI 代码提示插件!!!
🎉 探索12款免费VSCode AI代码提示插件:Codeium、Codegeex、CodeFuse、TONGYI Lingma、Comate、iFlyCode、Fitten Code、Bito AI、Mintlify Doc Writer、Kodezi AI、aiXcoder、IntelliCode。这些插件提供智能补全、代码生成、注释、优化,支持多种语言,提升编程效率!🚀👩‍💻👨‍💻
31582 121
|
XML JSON 移动开发
BpmnJS 元素属性的updateProperties 和updateModdleProperties的属性更新区别
BpmnJS 元素属性的updateProperties 和updateModdleProperties的属性更新区别
1121 1
|
JavaScript
基于Vue2或Vue3实现任意上下左右拖拽悬浮的元素,且配置为自定义的全局指令
这篇文章介绍了如何在Vue 2或Vue 3项目中实现一个自定义的全局指令`v-dragSwitch`,用于创建可以任意方向拖拽并悬浮的元素,同时包含边界处理的逻辑。
4692 2
基于Vue2或Vue3实现任意上下左右拖拽悬浮的元素,且配置为自定义的全局指令
|
JavaScript
Vue3代码展示(vue-codemirror)
`vue-codemirror`插件为Vue应用提供了一个强大的代码编辑器组件,支持代码高亮、自定义样式、暗黑模式等特性。通过简单的配置即可实现丰富的代码编辑体验。安装依赖后,创建`CodeMirror.vue`组件并在目标页面中使用即可。
3164 1
Vue3代码展示(vue-codemirror)
|
JavaScript
基于Vue2.X/Vue3.X对Monaco Editor在线代码编辑器进行封装与使用
这篇文章介绍了如何在Vue 2.X和Vue 3.X项目中封装和使用Monaco Editor在线代码编辑器,包括安装所需依赖、创建封装组件、在父组件中调用以及处理Vue 3中可能遇到的问题。
4223 1
基于Vue2.X/Vue3.X对Monaco Editor在线代码编辑器进行封装与使用