android select下拉列表_Vue-Select - 轻量可扩展的下拉选择菜单

还在发愁怎么在 Vue 中设计一个美观好用的下拉选择菜单吗?想摆脱 UI 框架笨重的依赖吗?看看 Vue-Select 这个 Vue 组件吧!

00554f4426fa31297cdafe4517a34d5e.png

Vue.js

简介

Vue-Select,是 github 上 sagalbot 开源的 Vue 框架 UI 组件,代码仓库在 https://github.com/sagalbot/vue-select,目前版本为 3.10.3。Vue-Select 是一个功能丰富、轻量化、易扩展的下拉选择菜单组件,用于在 Vue 中替代原生的 select 元素。它除了 Vue 以外没有额外的依赖,大小约 20KB,支持选择项的过滤和搜索、多选列表、分页,以及对 Vuex 和 AJAX 的支持等。

安装

Vue-Select 的安装可以使用 yarn,也可以使用 npm:

yarn add vue-selectnpm install vue-select

安装完毕后,在 Vue 项目的代码中导入并注册组件 vSelect:

import Vue from 'vue'import vSelect from 'vue-select'Vue.component('v-select', vSelect)

同时需要导入样式,样式文件可以选择 CSS 或 SCSS:

import 'vue-select/dist/vue-select.css'@import 'vue-select/src/scss/vue-select.scss'

如果想要在浏览器中直接使用,那么可以直接引用CDN:

示例

最简单的例子就是使用 options 属性传递选项的值:

75c7855a77c87dfb840bab515ad96487.png

vue-select的options例子

属性 options 可以接受一个字符串列表,也可以接受对象列表,并使用其中的标签值作为选项显示。标签值的键值默认为 label,也可以通过传递 label 属性来改变标签键值:

2d9ab5d42a8e41e6b9556dbaa62140f7.png

vue-select是label例子

选择后得到的值可以使用 v-model 来绑定:

也可以用 value 属性和 input 事件来获取选择的值,Vue-Select 支持对 Vuex 的绑定:

  methods: {    setSelected(value) {        // 触发mutation,或分派一个动作    }}

Vue-Select 还可使用 mutiple 属性支持多重选择列表,已选择的项以标签排列显示:

c5f61f61abee3d853d532f6baae7fd8d.png

vue-select的multiple例子

Vue-Select 默认支持搜索功能,在输入框输入时会实时过滤列表:

370d55e4bb352e4b98d2239fb3b1200b.png

vue-select的搜索例子

Vue-Select 也可以使用 reduce 属性,截取输出值的部分属性,方便对于复杂嵌套的选项列表进行处理:

更多

  • 采用 SCSS 进行样式配置,可以修改 SCSS 变量的值方便地修改样式;
  • 可以使用 no-options 插槽来修改没有选项时的默认文本;
  • 可以通过 spinner 插槽来修改加载中的图标和文本;
  • 可以针对子组件进行修改,获得个性化的标签和按钮等;
  • 可以通过 selectable 属性对选项进行是否有效的限制,或实现对于多选结果的限制;
  • 支持对选项列表添加分页;支持无限下拉的异步加载;
  • 支持使用 AJAX 对远程数据进行加载;
  • ……
575679ee3a7258e97ddd399e08a367d7.png

vue-select选项限制

8bd3fd3129d1d9c3ae0358b55e64ac67.png

vue-select分页

总结

Vue-Select 功能丰富,可以适应多种应用场景;同时无额外依赖,加载速度快,使用方便;默认样式设计美观,可定制、可扩展。

Vue-Select 项目代码清晰,设计合理,代码量不大,是一个适合学习的 Vue 的 UI 库项目。目前使用广泛,社区活跃,是一个值得关注的开源项目。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值