【发布时间】:2017-02-19 00:38:27
【问题描述】:
我正在尝试使用 Laravel 5 实现 vue-multiselect(版本 1.1.3)。
在我的 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 警告]:您在 vm 实例上设置了一个不存在的“已选择”路径。考虑使用“数据”选项预初始化属性,以获得更可靠的反应性和更好的性能。
我错过了什么?
【问题讨论】: