警告:select的绑定需要一个Array值,但得到的却是String



我正在处理的应用程序包括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

最新更新