欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

详解基于Vue的支持数据双向绑定的select组件

程序员文章站 2022-05-14 16:49:40
今天用vue做一个小项目时需要用到多个select筛选功能,但是原生的太丑,如果直接写在当前页多个select处理起来又太繁琐,第三方ui又太大,所以就自己写了一个,并上传...

今天用vue做一个小项目时需要用到多个select筛选功能,但是原生的太丑,如果直接写在当前页多个select处理起来又太繁琐,第三方ui又太大,所以就自己写了一个,并上传了github仓库,仓库地址:

使用方法:

引入组件:

import vueselect from '../components/vueselect'

注册组件

export default {
  components: {
    vueselect
  }
}

使用组件

<template>
  <vue-select
   :options="options"
   name="name"
   value="id"
   placeholder="请选择类型"
   v-model="selected_id"
   @change="handlechange">
  </vue-select>
</template>
  • options:选择项列表;
  • name:选择项列表中选择项名称的属性名;
  • value:选择项列表中选择项的值的属性名;
  • v-model:对应双向绑定的选中后的值;
  • @change:选择发生改变后触发事件,回调参数:当前选项。

demo:

<template>
  <div>
     <vue-select
    :options="options"
    name="name"
    value="id"
    placeholder="请选择一个水果"
    v-model="selected_id"
    @change="handlechange">
    </vue-select>
  </div>
</template>

<script>
import vueselect from '../components/vueselect'
export default {
  name: "index",
  data() {
    return {
      selected_id: "",
      options: [
        {name: "苹果", id: 1},
        {name: "橘子", id: 2},
        {name: "香蕉", id: 3},
        {name: "西瓜", id: 4},
      ]
    }
  },
  components: {
    vueselect
  },
  methods: {
    handlechange(e) {
      console.log(e)
    }
  }
}
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。