您的当前位置:首页正文

使用ant-design中v-mode和v-decorator冲突问题

2024-12-02 来源:个人技术集锦

项目场景:

使用ant-design的form组件:
在a-form组件中使用输入框组件时,v-model无法双向绑定数据


问题描述:

启用v-decorator进行输入框数据校验时,v-model绑定数据无法绑定

<a-form :form="form">
    <a-form-item label="name">
      <a-input
      	v-model="name"
        v-decorator="['name', { rules: [{ required: true, message: 'Please input your note!' }] }]"
      />
    </a-form-item>
</a-form>
data(){
	return {
		name: '123',
	}
}

原因分析:

经过反复测试,发现删除v-decorator后,v-model可以正常绑定数据。


解决方案:

加入v-decorator后无法使用v-model进行双向数据绑定,只能通过 setFieldsValue() 方法进行数据改变

<a-form :form="form">
    <a-form-item label="name">
      <a-input
        v-decorator="['name', { rules: [{ required: true, message: 'Please input your note!' }] }]"
      />
    </a-form-item>
</a-form>
mounted(){
	this.form.setFieldsValue({
        name: '1234'
    })
}
显示全文