FormMaking 可视化表单设计器自定义组件配置
介绍先来个简单的介绍,FormMaking 可视化表单设计器,基于Vue的表单设计器,让表单开发简单而高效。官网地址:http://form.making.link文档地址:http://docs.form.making.link表单设计器内置的组件很多时候不能满足到客户的需求,这个时候就需要自己定义一些组件来进行配置。接下来看看我们的处理方法:作用域插槽最开始我们在设计器中采用作用域插槽的方式,
介绍
先来个简单的介绍,FormMaking 可视化表单设计器,基于Vue的表单设计器,让表单开发简单而高效。
官网地址:http://form.making.link
文档地址:https://www.yuque.com/ln7ccx/ntgo8q
表单设计器内置的组件很多时候不能满足到客户的需求,这个时候就需要自己定义一些组件来进行配置。接下来看看我们的处理方法:
作用域插槽
最开始我们在设计器中采用作用域插槽的方式,给生成器预留了插槽,可以在生成器配置的时候引入自己的组件,做到自定义,具体方法如下:
-
拖拽【自定义区域】放入编辑区域。
-
根据你需要放入到该区域的字段选择类型。
-
点击【生成代码】可快速查看,通过编码方式放入自己的组件。
这样来进行自定义组件的加入,需要在生成器中编写代码来实现,不是很友好,接下来介绍下更好的方法。
动态组件
最新版本我们引入了动态组件来实现。在设计器中进行自定义组件的配置,在设计中即可查看效果。
设计器字段动态配置
最新版本中我们还提供了设计器字段的动态配置,效果图如下:
如何实现的请看下面简单介绍:
- 简单实现一个自定义的组件
<template>
<div class="custom-component">
<span>
宽:<el-input v-model="dataModel.width" style="width: 200px;"></el-input>
</span>
<span>
高:<el-input v-model="dataModel.height" style="width: 200px;"></el-input>
</span>
</div>
</template>
<script>
export default {
name: 'custom-width-height',
props: {
value: {
type: Object,
default: () => ({})
}
},
data() {
return {
dataModel: this.value
}
},
watch: {
value (val) {
this.dataModel = val
},
dataModel (val) {
this.$emit('input', val)
}
}
}
</script>
<style lang="scss">
.custom-component{
background: #eee;
padding: 10px;
span{
+span{
margin-left: 10px;
}
}
}
</style>
需要注意,自定义组件必须能够使用 v-model 进行双向绑定,如果还不知道如何创建,可以自行先阅读 Vue.js 文档。
- 注册组件
Vue.use(FormMaking, {
components: [{
name: 'custom-width-height',
component: CustomComponent // 自定义组件
}]
})
也可以使用 Vue.component 进行组件的注册
- 设计器配置
<template>
<fm-making-form
:custom-fields="customFields"
>
</fm-making-form>
</template>
<script>
export default {
data() {
return {
customFields: [
{
name: '自定义组件', // 字段名称
el: 'custom-width-height', // 组件注册的名称
options: {
defaultValue: {}, // 默认值
customClass: '', // 自定义样式
labelWidth: 100, // 标签宽度
isLabelWidth: false, // 是否展示标签
hidden: false, // 隐藏属性
dataBind: true, // 数据绑定属性
required: false, // 必填校验
dataType: '', // 数据类型校验
pattern: '', // 正则表达式校验
}
}
]
}
}
}
</script>
结束语
通过自定义组件,可以实现引入自己想要的各种组件(包括图表和移动端),只需要简单配置就行。
更多的功能可以进入官网体验。
更多推荐
所有评论(0)