我正在处理的应用程序包括3或4个页面,用户被要求在各个字段中输入一些数据(输入,选择(。如果用户想返回到某个页面,则需要显示以前的数据(我使用计算的属性从存储中获取(。它在输入类型字段上运行良好,但我收到了选择类型字段的警告:
[Vue warn]: <select multiple v-model="tax"> expects an Array value for its binding, but got String
以下是selectTax.vue文件模板部分的代码摘录:
<select v-model="tax" multiple="multiple">
<option value="tax1">Tax1</option>
<option value="tax2">Tax2</option>
<option value="tax3">Tax3</option>
以下是selectTax.vue文件的脚本部分中的代码摘录:
tax: {
get() {
return this.$store.getters.taxtype;
},
set(value) {
this.$store.commit("setTaxType", value[0]);
}
}
问题是计算的财产税是一个字符串,而不是一个数组。
有什么合适的方法来修理它吗?谢谢你的帮助。
使用<select multiple
时,数据模型不是字符串,而是array
。
这是因为用户可以选择多个选项。
您有两个选项:
- 更新要用数组初始化的
this.$store.getters.taxtype
的数据类型(很可能为空(并更新
set(value) {
this.$store.commit("setTaxType", value);
}
- 或通过选择远程
multiple