修改表单规则
在尾部追加规则
::: demo
<template><div><form-create :rule="rule" v-model="fApi" :option="options"/><h2>操作</h2><p>在表单尾部追加组件</p><ElButton @click="append1">方式1</ElButton><ElButton @click="append2">方式2</ElButton><p>在inputNumber组件底部追加组件</p><ElButton @click="set1">方式1</ElButton><ElButton @click="set2">方式2</ElButton></div></template><script>export default {data(){return {i: 0,fApi:{},options:{submitBtn:false,resetBtn:false},rule:[{type:'inputNumber',field:'number',title:'库存',value: 0},{type:'input',field:'info',title:'简介',value: '',props:{type:'textarea'}}]}},methods:{getRule(){this.i++;return this.$formCreate.maker.input('追加组件'+this.i,'input'+this.i,'');},append1(){this.rule.push(this.getRule());},append2(){this.fApi.append(this.getRule());},set1(){this.rule.splice(1,0,this.getRule());},set2(){this.fApi.append(this.getRule(), 'number');}}}</script>
:::
在顶部增加规则
::: demo
<template><div><form-create :rule="rule" v-model="fApi" :option="options"/><h2>操作</h2><p>在表单顶部增加组件</p><ElButton @click="append1">方式1</ElButton><ElButton @click="append2">方式2</ElButton><p>在input组件顶部增加组件</p><ElButton @click="set1">方式1</ElButton></div></template><script>export default {data(){return {i: 0,fApi:{},options:{submitBtn:false,resetBtn:false},rule:[{type:'inputNumber',field:'number',title:'库存',value: 0},{type:'input',field:'info',title:'简介',value: '',props:{type:'textarea'}}]}},methods:{getRule(){this.i++;return this.$formCreate.maker.input('追加组件'+this.i,'input'+this.i,'');},append1(){this.rule.splice(0,0,this.getRule());},append2(){this.fApi.prepend(this.getRule());},set1(){this.fApi.prepend(this.getRule(), 'info');}}}</script>
:::
添加组件的子组件
::: demo
<template><div><form-create :rule="rule" v-model="fApi" :option="options"/><h2>操作</h2><p>在 col 组件内部增加</p><ElButton @click="append1">方式1</ElButton><ElButton @click="append2">方式2</ElButton></div></template><script>export default {data(){return {i: 0,fApi:{},options:{submitBtn:false,resetBtn:false},rule:[{type:'el-col',title:'布局组件',name: 'col',children: []}]}},methods:{getRule(){this.i++;return this.$formCreate.maker.input('追加组件'+this.i,'input'+this.i,'');},append1(){this.rule[0].children.push(this.getRule());},append2(){this.fApi.append(this.getRule(),'col', true);}}}</script>
:::
删除第一条规则
rule.splice(0,1);
删除表单组件
fApi.removeField('field');
删除自定义组件
$f.removeField('name');
