最近在用uni-app做一個項目,使用的框架還是vue,想了好久才做出來 。
HTML代碼部分
<input type="text" focus
class="search_input"
placeholder="請輸入搜索站點"
v-model="fname"
value="1"
@focus="search_site"/>
//icon是叉號圖標,點擊叉號的時候可以清空輸入框的內容
<uni-icon type="closeempty" class="search_icon clear" size="26" v-if="fname" @click="clearInput('fname')"></uni-icon>
JS代碼部分
mounted(){
this.init();
},
methods:{
init(){
//調用后台接口獲取數據展示到頁面中
},
search(value){
let _self = this;
if(!value){
_self.siteDatas=[];
return;
};
//調用后台接口獲取數據展示到頁面中
},
// 點擊取消按鈕清空輸入框
clearInput(val) {
this[val] = "";
this.siteDatas=[];
this.init();
},
// 站點輸入框模糊查詢
search_site(){
if(document.querySelector('input')==document.activeElement){
//往輸入框中傳入值,根據值調后台接口進行查詢
this.search(this.fname.trim());
}
if(this.fname == ''){
//當輸入框為空的時候再次調用接口顯示全部數據
this.init();
}
}
}
//監聽輸入框中值的變化
watch: {
fname:function(){
//調用模糊查詢函數
this.search_site();
}
}
