ios的自带拼音全键会在输入框中输入拼音,直接在输入框用@keyup="autoInput()"的话,在监听输入事件的时候安卓显示正常, ios就会出现输入显示数据不灵敏
解决办法:放在watch里监听
输入框:
html
<input type="text" v-model="searchCityModel" placeholder="中文/拼音/首字母" value=""/>
js
data () {
return {
searchCityModel: '',
}
},
methods:{
autoInput() {
const str = this.searchCityModel;
str.toLocaleLowerCase().replace(/\s|'/g,"");
//searchCityModel
this.autoData.length=0;
this.autoIsShow = true; if(str===""){
this.autoIsShow = false;
return;
}
this.questCityData.forEach((item,index) => {
const name = item.StationName;
const quanpin = item.StationNamePinyin || 's'; if (name.indexOf(str) >= 0||quanpin.indexOf(str) >= 0) {
this.autoData.push(item);
}
})
if(this.autoData.length==0){
this.autoData.push({StationName:"暂不支持该城市"})
}
}
},
watch:{
searchCityModel: function (val, oldVal) {
this.autoInput();
}
}