我已经得到了我想要绑定到数组的基本选择。我使用vuetify,但这个问题很普遍。
<v-select
v-bind:items="physicianListSpeciality"
>
</v-select>
现在我想对许多数组使用相同的选择,取决于可能是医生,护士等的offer.person
值。
data: {
offer.person: "physician" //or offer.person: "nurse"
}
例如physician
我要绑定physicianListSpeciality
对于nurse
,我想绑定nurseListSpeciality
,
等
我尝试做类似的事情:
<v-select
v-bind:items="`${offer.person}`ListSpeciality"
>
</v-select>
或
v-bind:items="[offer.person +'ListSpeciality']"
它们似乎都不适合我。 如何更正我的代码才能使其工作?我应该使用某种计算方法还是有另一种方法可以做到这一点?
答案 0 :(得分:1)
嗯,这取决于你的范围。
如果您在窗口范围内工作,则只需使用window[offer.person + 'ListSpeciality']
调用var。
如果我们在组件范围内,并且getters / data“nurseListSpeciality”存在,那么您可以从this
上下文中调用它,如下所示:this[offer.person + 'ListSpeciality']
其中offer.person将是'护士”。
另一种选择是做类似的事情: 以您的项目数据为例
data() {
return {
jobs: {
nurse: [
'nurse item A',
'nurse item B',
'nurse item C',
],
physician: [
'physician item A',
'physician item B',
'physician item C',
],
},
};
}
然后你可以得到这样的项目:
// offer.person = 'nurse';
<v-select
:items="jobs[offer.person]"
>
</v-select>