常见问题
提醒
fApi
为创建表单后返回的实例,field
为字段名称,rule
为表单生成规则
手动修改某个字段的值
fApi.form[field] = '修改后的值'
rule[2].value = '修改后的值' //rule[2]是field字段的生成规则
fApi.setValue(field,value)
说明: 如果修改的值为数组必须直接赋值或使用push
,splice
等方法修改
批量赋值
javascript
fApi.setValue({[field1]: value1, [field2]: value2})
动态修改表单规则
fApi.getRule(field).props.disabled = false
rule[2].props.disabled = false //rule[2]是field对应的规则
说明: 修改的属性需要提前在生成规则里预定义
隐藏指定字段
fApi.hidden(true, field)
根据后台返回的规则生成表单
javascript
fetch('api').then(rule => {
$f = formCreate.create(rule, {
onSubmit(formData) {
// 表单提交事件
fApi.btn.loading(true)
//TODO 提交表单
}
})
})
如果是json字符串需要通过formCreate.parseJson
方法解析
隐藏默认提交按钮
设置全局配置options.submitBtn = false
即可隐藏
显示默认重置按钮
设置全局配置options.resetBtn = true
即可显示
生成规则复用
一个生成规则rule
只能同时在一个<form-create>
中使用. 如果需要多次使用:
- 在使用前自行深拷贝
- 从被使用的
<form-create>
中移除
验证规则无效
请注意 value 的数据类型.如果组件为多选或区间选择时 value 的数据类型为Array
,需要在验证规则中设置type:'array'
修改组件值后页面没有更新
在表单创建后到成功渲染之前修改是无效的
- 在生成表单之前修改
- 在
option.mounted
中修改 - 在首次表单渲染后修改