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(); } }