需求:默认选择状态"02"。
我想那就在created里用this.forms.status = "02"赋值呗,是我太菜了😐,值是改了,视图更新不及时🙃。
<a-select
placeholder="请选择"
v-model="forms.status"
>
<a-select-option
v-for="(item, index) in statusList"
:value="item.itemValue"
:key="index"
>
{{ item.itemName }}
</a-select-option>
</a-select>
data() {
return {
forms: {},
};
},
created() {
this.forms.status = "02"; //这样不行!不可!
},
亲测有效的解决方案:
- 强制刷新
this.$forceUpdate()(👍真的万能)
利用@change,选择的值一改变,就强制刷新视图。
<a-select
placeholder="请选择"
v-model="forms.status"
@change="statusChange"
>
<a-select-option
v-for="(item, index) in statusList"
:value="item.itemValue"
:key="index"
>
{{ item.itemName }}
</a-select-option>
</a-select>
data() {
return {
forms: {},
};
},
methods: {
statusChange() {
this.$forceUpdate();
},
}
- 在对象里面赋值(🍒两种思路)
① 在 data 中设置好默认值
data() {
return {
forms: { status: "02" },
};
},
② 在 created 中赋值
data() {
return {
forms: {},
};
},
created() {
this.forms = { status: "02" };
},
- 利用
this.$set
data() {
return {
forms: {},
};
},
created() {
this.$set(this.forms, 'status', '02')
},