千家信息网

bootstrap中select插件怎么封装成Vue2.0组件

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,本文小编为大家详细介绍"bootstrap中select插件怎么封装成Vue2.0组件",内容详细,步骤清晰,细节处理妥当,希望这篇"bootstrap中select插件怎么封装成Vue2.0组件"文
千家信息网最后更新 2025年01月24日bootstrap中select插件怎么封装成Vue2.0组件

本文小编为大家详细介绍"bootstrap中select插件怎么封装成Vue2.0组件",内容详细,步骤清晰,细节处理妥当,希望这篇"bootstrap中select插件怎么封装成Vue2.0组件"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

html

js

// select 插件Vue.component('vm-select', { props : ['options', 'value', 'multiple', 'method', 'load', 'index', 'childidx'], template : "", 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组件"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

0