溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

vue2 前端搜索實(shí)現(xiàn)示例

發(fā)布時(shí)間:2020-10-25 18:38:59 來源:腳本之家 閱讀:133 作者:yue朔 欄目:web開發(fā)

項(xiàng)目數(shù)據(jù)少的時(shí)候,搜索這樣的小事情就要交給咱們前端來做了,重要聲明,適用于小項(xiàng)目?。。。?!

其實(shí)原理很簡單,小demo是做搜索市區(qū)名稱或者按照排名搜索。

<div>
   <input type="text" v-model="name" placeholder="點(diǎn)擊搜索按鈕篩選" />
   <input type="button" @click="search" />
</div>
<table>
     <tbody>
       <tr v-for="item in listt0">
        <td>
        <a v-text="item.sort"></a>
        </td>
        <td>
        <a v-text="item.City"></a>
        </td>
        <td>
          <a : v-cloak>{{item.Data | two}}</a>
         </td>
          <td><span v-text="item.Good"></span></td>
          </tr>
        </tbody>
</table>

頁面布局成功之后,就是要做js配置了,首先是data初始化。

data:{
  list0:[],//原始
  listt0:[],//處理過的
  name:'',//搜索框內(nèi)容
}, 

接下來獲取后臺數(shù)據(jù),后臺數(shù)據(jù)必須是一次性傳遞給前端,原因你懂的。

created:function(){
  //這獲取數(shù)據(jù)且list0以及l(fā)istt0都為獲取到的數(shù)據(jù)
},

搜索的實(shí)現(xiàn),判斷如果是數(shù)字就按照sort搜索,不是數(shù)字則按照city搜索。一個(gè)簡單的搜索就完成了。

        methods:{
           search:function(){//搜索
             var _this=this;
             var tab=this['list0'];
             if(this.name){                   
              _this['listt0']=[];           
               if(!isNaN(parseInt(_this.name))) {
                for(i in tab) {
                  if(tab[i].sort == parseInt(_this.name)) {
                    _this['listt0'].push(tab[i]);
                  };
                };
              } else {
                for(i in tab) {
                  if(tab[i].City.indexOf(_this.name) >= 0) {
                    _this['listt0'].push(tab[i]);
                  };
                };
              };
             }else{
               alert('請輸入篩選條件!')
             };
           }
        },  

小知識點(diǎn):

  1. : :style設(shè)置前10名的文字顏色。

  2. !isNaN(parseInt(_this.name)) 判斷輸入的是數(shù)字還是文字,如果有數(shù)字就會按照數(shù)字搜索。

    3.過濾器two

     filters: {//保留兩位小數(shù)點(diǎn)
          two : function(value){
            if (!value) { return ''};
            return value.toFixed(2);
          }
        }

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI