bootstrap select插件封装成Vue2.0组件


Posted in Javascript onApril 17, 2017

因为bootstrap-select功能比较强大,而且样式还不错,所以在项目使用了vue,所以,觉得对bootstrap-select进行封装。

html

<my-select :options="input.options" v-model="input.value" ref="typeSelect" :index="index" :childidx="childIdx" :load="load" :multiple="input.multiple" :method="change"></my-select>

js

// select 插件
Vue.component('vm-select', {
 props : ['options', 'value', 'multiple', 'method', 'load', 'index', 'childidx'],
 template : "<select :multiple='multiple' class='selectpicker' data-live-search='true' title='请选择' data-live-search-placeholder='搜索'><option :value='option.value' v-for='option in options'>{{ option.label }}</option></select>",
 mounted : function () {
 var vm = this;
 $(this.$el).selectpicker('val', this.value != null ? this.value : null);
 $(this.$el).on('changed.bs.select', function () {
 vm.$emit('input', $(this).val());
 if (typeof(vm.method) != 'undefined') {
 vm.method(vm.index, vm.childidx, this.value);
 }
 });
 $(this.$el).on('show.bs.select', function () {
 if (typeof(vm.load) != 'undefined') {
 vm.load(vm.index, vm.childidx);
 }
 });
 },
 updated : function () {
 $(this.$el).selectpicker('refresh');
 },
 destroyed : function () {
 $(this.$el).selectpicker('destroy');
 }
});

不得不提一下,在使用多个select的时候,在删除某一个selcet对象的时候,加载的值会发生改变,纠结了半天发现是vue自身的问题:因为vue对象有在重新渲染html的过程中会复用原来相同的vue对象,所以导致会导致selcet对象错位。解决方案:将每个select对象打上一个标签key。虽然可能导致性能的下降,但是不会导致错误。

bootstrap select插件封装成Vue2.0组件

vue官网

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

Javascript 相关文章推荐
javascript操作css属性
Dec 30 Javascript
Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
Feb 02 Javascript
javascript实现平滑无缝滚动
Aug 09 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
Sep 18 Javascript
JavaScript正则表达式和级联效果
Sep 14 Javascript
vue.js给动态绑定的radio列表做批量编辑的方法
Feb 28 Javascript
React Native使用fetch实现图片上传的示例代码
Mar 07 Javascript
js for终止循环 跳出多层循环
Oct 04 Javascript
微信小程序之裁剪图片成圆形的实现代码
Oct 11 Javascript
Vux+Axios拦截器增加loading的问题及实现方法
Nov 08 Javascript
使用异步组件优化Vue应用程序的性能
Apr 28 Javascript
一文了解JavaScript用Element Traversal新属性遍历子元素
Nov 27 Javascript
JS简单获取当前日期和农历日期的方法
Apr 17 #Javascript
Vue.js仿Metronic高级表格(一)静态设计
Apr 17 #Javascript
react.js CMS 删除功能的实现方法
Apr 17 #Javascript
JS实现二叉查找树的建立以及一些遍历方法实现
Apr 17 #Javascript
简单的JS控制button颜色随点击更改的实现方法
Apr 17 #Javascript
jQuery实现动态生成表格并为行绑定单击变色动作的方法
Apr 17 #jQuery
Vue分页组件实例代码
Apr 17 #Javascript
You might like
php数组分页实现方法
2016/04/30 PHP
javascript下arguments,caller,callee,call,apply示例及理解
2009/12/24 Javascript
Wordpress ThickBox 添加“查看原图”效果代码
2010/12/11 Javascript
重构Javascript代码示例(重构前后对比)
2013/01/23 Javascript
JS实现自动定时切换的简洁网页选项卡效果
2015/10/13 Javascript
javascript函数自动执行常用方法汇总
2016/03/28 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
require.js+vue开发微信上传图片组件
2016/10/27 Javascript
jquery仿微信聊天界面
2017/05/06 jQuery
vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)
2017/10/16 Javascript
jQuery实现的简单获取索引功能示例
2018/06/04 jQuery
JS实现判断图片是否加载完成的方法分析
2018/07/31 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
解决vue单页面应用中动态修改title问题
2019/06/09 Javascript
js实现轮播图特效
2020/05/28 Javascript
利用Vue实现简易播放器的完整代码
2020/12/30 Vue.js
21行Python代码实现拼写检查器
2016/01/25 Python
python获取指定日期范围内的每一天,每个月,每季度的方法
2019/08/08 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
Html5游戏开发之乒乓Ping Pong游戏示例(二)
2013/01/21 HTML / CSS
详解H5 活动页之移动端 REM 布局适配方法
2017/12/07 HTML / CSS
自主招生自荐信格式
2013/12/03 职场文书
大学生毕业鉴定
2014/01/31 职场文书
网络教育自我鉴定
2014/02/04 职场文书
初一学生评语大全
2014/04/24 职场文书
青春奉献演讲稿
2014/05/08 职场文书
2014学校领导四风问题对照检查材料思想汇报
2014/09/22 职场文书
优秀教师推荐材料
2014/12/16 职场文书
行政主管岗位职责范本
2015/04/09 职场文书
毕业论文致谢怎么写
2015/05/14 职场文书
班级联欢会主持词
2015/07/03 职场文书
Nginx URL重写rewrite机制原理及使用实例
2021/04/01 Servers
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle
Redis Cluster 集群搭建你会吗
2021/08/04 Redis
Python极值整数的边界探讨分析
2021/09/15 Python
仅仅使用 HTML/CSS 实现各类进度条的方式汇总
2021/11/11 HTML / CSS