1.3.8
vue
https://codesandbox.io/s/l5qx1mjxlz
<a-form :form="form">
<a-form-item v-bind="formItemLayout" label="名称">
<a-input
v-decorator="['name', {rules: [{ required: true, message: '请输入标题' }]}]"
name="name"
placeholder="给目标起个名字" />
</a-form-item>
</a-form>
toEdit(data) {
let formData = { // 这样直接给默认值不可以
name: 11
}
this.form.setFieldsValue({
...formData, // 直接使用...data也不可以
})
this.visible = true
},
可以正常回填数据
可以正常回填数据

复现地址已加...
正确结果例子: https://codesandbox.io/s/0y7736z2ln
有两个问题
附: 单页使用 modal ,没必要销毁 modal 浪费性能
正确结果例子: https://codesandbox.io/s/0y7736z2ln
有两个问题
- modal 还没渲染,就设置 modal 子元素 form 的值, form 会找不到
- 点击编辑时,给 form 设置了 form 不存在的值
附: 单页使用 modal ,没必要销毁 modal 浪费性能
thankyou!
设置不存在的值也会报错,不太懂官方的设计理念
其中一个情况:没有使用 <a-form-item>标签包裹 给表单标签 给了我致命的坑
设置不存在的值也会报错,不太懂官方的设计理念
的确是很坑,我用下面的方式才消除这个告警:
const { form: { getFieldsValue, setFieldsValue, resetFields } } = this
this.$nextTick(() => {
const values = getFieldsValue()
Object.keys(values).forEach((k) => {
values[k] = data[k]
})
resetFields()
setFieldsValue(values)
})
每次数据回显都得过滤一遍, 着实很烦. 我觉得应该支持添加一个开关屏蔽该条错误信息
这是个大坑啊
form初始化完成不给一个回调吗
Most helpful comment
正确结果例子: https://codesandbox.io/s/0y7736z2ln
有两个问题
附: 单页使用 modal ,没必要销毁 modal 浪费性能