Как использовать объединенные имена элементов / опций в одной функции в vue-select
У меня есть проект, в котором я использую много компонентов vue-select.
Мои компоненты:
...
<v-select ref="select_1" :options="options_1" @search:focus="maybeLoad('1')">
</v-select>
<v-select ref="select_3" :options="options_2" @search:focus="maybeLoad('2')">
</v-select>
<v-select ref="select_3" :options="options_3" @search:focus="maybeLoad('3')">
</v-select>
...
Мой метод:
...
maybeLoad(name) {
// Vue.prototype.$options_select = 'options_' + name;
// const options_select = 'options_' + name;
return this.$options_select.length <= 0 ? this.load(name) : null
},
...
Я пытался с Vue.prototype.$options_select
или же const options_select
, но не работает.
Ошибка с Vue.prototype:
vue-select пуст.
Ошибка с const options_select
TypeError: "this. $ Options_select не определено; не может получить доступ к его свойству"length"
Если я использую специальные функции для каждого vue-select ... работает, каждый vue-select заполняется данными из axios (с методом load()).
Есть идеи?
1 ответ
Нашел решение:
...
maybeLoad(name) {
const options_select = 'options_' + name;
return this[options_select].length <= 0 ? this.load(name) : null
},
...