在v-if中使用Bootstrap-selectpicker时出现下图所示问题
select框不显示
原因是v-if条件下的渲染和selectpicker中select的渲染顺序错误导致
解决方法为:将select延后一步渲染即可解决,采用Vue中的$nextTick()函数以及selectpicker中的selectpicker('render')重现渲染select即可
this.$nextTick(function () {
$('.selectpicker').selectpicker('render');
});
在补充一个后续遇到的问题:切换显示的内容select还是显示之前的内容,使用selectpicker('refresh')和selectpicker('render')无法解决
暂时不知道原因是什么(希望有懂的大佬能指点一下),可能与之前的延迟渲染有关系
解决方法就是采用v-if摧毁之前的select并重新生成新的select即可解决