#laravel-5 #vue-component
#laravel-5 #vue-компонент
Вопрос:
Я пытаюсь реализовать vue-multiselect (версия 1.1.3) с помощью Laravel 5.
В моем файле vue у меня есть этот код:
<template>
<div class="dropdown">
<multiselect
:seleted="multiValue"
:show-labels="false"
:options="options"
:placeholder="placeholder"
:searchable="true"
:allow-empty="false"
:multiple="true"
key="name"
label="name"
@update="updateSelected"
></multiselect>
<label v-show="showLabel" for="multiselect"><span></span>Language</label>
</div>
</template>
<script>
import { Multiselect } from 'vue-multiselect';
export default {
components: { Multiselect },
props: {
selected: null,
options: {
type: Array, default: function () {
return []
}
},
placeholder: 'Select...'
},
methods: {
updateSelected (newSelected) {
this.selected = newSelected
}
}
}
</script>
В моем блейд-файле:
<div class="form-group">
<drop-down
:options="{{ $members_list->toJson() }}"
></drop-down>
</div>
В моем контроллере:
$members = DB::table('members')
->orderBy('member_first_name', 'asc')
->get();
$members_list = $members->map(
function($member) {
return [
"value" => $member->member_id,
"label" => $member->member_first_name. " ". $member->member_last_name
];
}
);
Когда я запускаю страницу, я получаю список выбора со всеми элементами в нем, но когда я пытаюсь выбрать один, он становится красным, он добавляется в список выбранных сверху, но я не могу выбрать больше параметров, и в firebug я получаю эту ошибку:
[Предупреждение Vue]: вы устанавливаете несуществующий путь «выбран» для экземпляра виртуальной машины. Рассмотрите возможность предварительной инициализации свойства с помощью опции «данные» для более надежной реактивности и лучшей производительности.
Что я упускаю?
Ответ №1:
Опечатка может вызывать проблемы?
:seleted="multiValue"
Должно быть:selected=»Многозначный»
Кстати: выбранное устарело в версии 2.0. : значение заняло свое место.
Ответ №2:
Я думаю, это потому, что в вашем компоненте нет переменной с именем ‘MultiValue’. В:seleted=»MultiValue» , используя переменную «options» вместо «MultiValue«