生成自定义表单组件
实现
v-model
的组件都可以称为表单组件
预定义
定义好以下属性和事件,就能达到和内置的表单组件相同的效果. 赶快试一试吧
props
在自定义组件内部通过props
接收一下属性
modelValue
组件的值disabled
组件的禁用状态
例如:
js
//vue 组件
{
props:{
modelValue:String,
disabled:Boolean
}
}
//vue 组件
{
props:{
modelValue:String,
disabled:Boolean
}
}
update:modelValue 事件
通过update:modelValue
事件更新组件内部的值
当组件值发生变化后,通过 input 事件更新值.例如:
js
vm.$emit('update:modelValue',newValue)
vm.$emit('update:modelValue',newValue)
挂载自定义组件
要生成的自定义组件必须通过vue.component
方法挂载到全局,或者通过formCreate.component
方法挂载
例如:
js
formCreate.component('TestComponent',component)
formCreate.component('TestComponent',component)
生成
表单组件必须定义field
属性
JSON
js
{
type:'TestComponent',
value:'test',
field:'testField',
title:'自定义组件'
}
{
type:'TestComponent',
value:'test',
field:'testField',
title:'自定义组件'
}
Maker
js
formCreate.maker.create('TestComponent','testField','自定义组件').value('test')
formCreate.maker.create('TestComponent','testField','自定义组件').value('test')
示例
自定义计数器按钮组件,获取按钮点击数.该组件的功能和内置组件相同