我正在尝试使用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实例上设置“已选择”的不存在路径。考虑使用“数据”选项预先初始化属性,以获得更可靠的反应性和更好的性能。
我错过了什么?
答案 0 :(得分:0)
错字可能导致问题?
:seleted="multiValue"
应该是:selected =&#34; multiValue&#34;
BTW:在2.0版中不推荐使用。 :价值已经占据了它的位置。
答案 1 :(得分:0)
我认为这是因为没有名为&#39; multiValue&#39;在您的组件中。 在:seleted =&#34; multiValue&#34; 中,使用变量&#34; 选项&#34;而不是&#34; multiValue &#34;