如何解决如何使用“多个”道具获取Vuetify Select字段,以与数据库中的axios数据进行交互?
我有一个正在学习Vue的学区项目。我已经设置了axios并与其他几个字段一起使用来从mysql数据库获取和编辑数据,但是我一直坚持在v-select组件上使用多属性。我已经意识到它与数据类型有关。在数据库中,学校是一个字符串,但是v选择多个需要一个数组。
我正在使用Vuetify数据表,该表带有一个打开的对话框来编辑用户信息。选项之一是学校字段,该字段应能够为用户分配多个学校。这是该字段:
<v-select
:items='schools'
v-model='schoolArray'
label='School'
multiple
item-text='school'
></v-select>
通常,v模型将具有“ editedItem.school”,但这将返回一个字符串,并且我需要一个数组。我有一个计算属性,可以将学校数据更改为数组:
schoolArray (item) {
return this.editedItem.school.split(',')
}
现在,我可以查看数据库中有哪些学校,而不是空白字段,但这给了我一个错误
“ [Vue警告]:计算属性“ schoolArray”已分配给它,但它 没有二传手。”
因此,我将其更改为:
schoolArray: {
get: function () {
var stringToArray = this.editedItem.school.slice(0).split(',')
return stringToArray
},set: function (school) {
this.editedItem.school = school
}
}
现在,我得到的错误是
'[Vue警告]:呈现错误:“ TypeError: this.editedItem.school.slice(...)。split不是函数“'
我觉得自己缺少一些基本知识,但我仍在尝试学习Vue和Vuetify。任何帮助或指示,将不胜感激。
解决方法
问题是您将editedItem.school
设置为数组,而不是 string ,因此它抱怨您不能{{1} }数组。
设置split()
时,应通过editedItem.school
将其转换回字符串。
Array.join(",")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。