背景:在一个下拉框中有几千个列表数据,在vue2中下拉选用的是ul-li,下拉框点开可以进行搜索,搜索采用下拉数据缓存,然后用Indexof筛选,
问题:点开下拉框一搜索,页面就卡死了
解决办法:
一、将ul-li换成div格式
二、模板中用ul,给定ref方便获取节点,然后用Js写法,将liappend到页面中
代码如下:
html模板部分
<ul ref="allStation_ul" class="scrollBox">
js部分
vue.allStation = res.data;
var str = ''
for (var i = 0, len = vue.allStation.length; i < len; i++) {
str += '<li onclick="mySelectClick(event)" data-ajnum=' + item.aj_num + ' data-id=' + item.id + ' title=' + item.name + '>' + item.name + '</li>'
}
$(vue.$refs.allStation_ul).html(str)