Как использовать объединенные имена элементов / опций в одной функции в 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
        },
        ...
Другие вопросы по тегам