vue-multiselect 多选

vue-multiselect 多选代码例子,开启multiple和close-on-select属性即可实现多选下拉框。

关键属性

属性名称说明
options下拉选项数组,['a','b']或者[{lable:'a',value:'100'},{lable:'b',value:'200'}]
close-on-select设置false选择后是否关闭下拉层
multiple设置true为多选模式
show-labels是否显示已选中提示
searchable是否开启客户端搜索筛选
singleLabel选中后显示在输入框插槽
track-byoptions为对象数组时由那个属性作为key,比如上面的value

完整代码

<template>
 <div style="width:50%">
  <multiselect
   v-model="value"
   deselect-label="已选中" 
   track-by="name"
   label="name" 
   placeholder="请选择" 
   :options="options"
   :searchable="false"
   :close-on-select="false"
   :multiple="true"
    selectLabel="回车选择"
    selectGroupLabel="回车选择整个分组"
    selectedLabel="已选择"
    deselectLabel="回车取消选择"
    deselectGroupLabel="回车取消选择"
    >
    <template slot="singleLabel" slot-scope="{ option }">
    <strong>{{ option.name }}</strong> 由<strong> 
     {{ option.language }}开发的</strong>
     </template>
  </multiselect>
  <pre ><code>{{ value  }}</code></pre>
</div>
</template>
 <script> 
import Vue from 'vue'
//导入Multiselect
import Multiselect from 'vue-multiselect';
import 'vue-multiselect/dist/vue-multiselect.min.css';
//注册multiselect组件
Vue.component('multiselect', Multiselect)
 export default {
  components: {
    Multiselect
  },
  data () {
    return {
      value: null,
      options: [
        { name: 'Vue.js', language: 'JavaScript' },
        { name: 'Rails', language: 'Ruby' }, 
        { name: 'www.taobao.com', language: 'java', $isDisabled: true },
        { name: 'www.itxst.com', language: 'C#' }
      ]
    }
  }
}
</script>

例子