Skip to content

常见问题

提醒

fApi为创建表单后返回的实例,field 为字段名称,rule 为表单生成规则

手动修改某个字段的值

  1. fApi.form[field] = '修改后的值'
  2. rule[2].value = '修改后的值' //rule[2]是field字段的生成规则
  3. fApi.setValue(field,value)

说明: 如果修改的值为数组必须直接赋值或使用push,splice等方法修改

批量赋值

javascript
fApi.setValue({[field1]: value1, [field2]: value2})
fApi.setValue({[field1]: value1, [field2]: value2})

动态修改表单规则

  1. fApi.getRule(field).props.disabled = false
  2. 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 提交表单
        }
    })
})
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中修改
  • 在首次表单渲染后修改