由于某个项目用的v-decorator,所以今天记录一下v-decorato
1.template中
<a-form-item label="推广人类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-select
@change="getType"
placeholder="请选择推广人类型"
v-decorator="['promotionType', validatorRules.promotionType]"
>
<a-select-option :value="1">11</a-select-option>
<a-select-option :value="2">222</a-select-option>
<a-select-option :value="3">33</a-select-option>
</a-select>
</a-form-item>
data中创建表单设置校验
validatorRules: {
name: {
rules: [
{
required: true,
message: "请输入姓名!",
},
],
},
}
form: this.$form.createForm(this),
2.取值(想要在表单中取到值并且使用v-if渲染表单其他属性
getType() {
this.$nextTick(() => {
this.promotionType = this.form.getFieldValue("promotionType");
});
},
3.赋值
this.$nextTick(() => {
this.form.setFieldsValue({promotionType: '设置值'});
});
4.清空表单数据
this.form.resetFields();
5.触发表单验证 提交方法
this.form.validateFields((err, values) => {
if (!err) {