2016-10-10 55 views
0

我想实现VUE,多选(1.1.3版本)与Laravel 5.Laravel VUE,多选的错误

在我的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 
       ]; 
      } 
     ); 

当我运行页面时,我得到一个包含所有成员的选择列表,但是当我尝试选择一个列表时,它会变成红色,它将被添加到顶部的选定列表中,但我无法选择更多选项,并且在萤火虫中我得到此错误: [Vue警告]:您正在设置一个vm实例上不存在的“已选”路径。考虑使用“数据”选项对属性进行预初始化,以获得更可靠的反应性和更好的性能。

我错过了什么?

回答

0

Typo可能会导致问题?

:seleted="multiValue" 

应该是:选择= “多值”

顺便说一句:选择在2.0版已弃用。 :价值已经占据了它的位置。

0

我认为这是因为没有在您的组件被称为“多值”的变量。 在:入围= “多值”,使用变量 “选项” 而不是 “多值