我有一个9000个项目的v-autocomplete。
组件代码如下:
<v-autocomplete
v-model="form.fields.city_id"
:items="cities_subregions"
item-text="name"
item-value="id"
:filter="locationsFilter"
></v-autocomplete>
在locationsFilter函数中,我具有以下内容:
locationsFilter (item, queryText, itemText) {
const textOne = item.city_name.normalize('NFD').replace(/[\u0300-\u036f]/g, "").toLowerCase();
const searchText = queryText.normalize('NFD').replace(/[\u0300-\u036f]/g, "").toLowerCase();
return textOne.startsWith(searchText) || searchText.length > 2 && textOne.indexOf(searchText) > -1 && textOne.length/(3*textOne.split(' ').length) < searchText.length;
},
即使为该功能设置了return null
,当用户键入该功能时,它也会很滞后。
因此,我希望每个〜250ms调用一次过滤器locationsFilter
。
有没有办法做到这一点?