Vue 計(jì)算屬性實(shí)現(xiàn)過濾關(guān)鍵詞

效果:


計(jì)算屬性-過濾.gif

html:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
        <title>Vue計(jì)算屬性-過濾</title>
        <link rel="stylesheet" href="css/1.css">
        <script type="text/javascript" src="js/jquery.js"></script>
        <script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
        <script src="https://cdn.staticfile.org/vue-router/2.7.0/vue-router.min.js"></script>
        <script src="js/1.js"></script>
    </head>
    <body>
        <div id="app">
            <keep-alive>
                <router-view class="child-view" v-if="$route.meta.keepAlive"></router-view>
            </keep-alive>

            <router-view class="child-view" v-if="!$route.meta.keepAlive"></router-view>
        </div>
        <script type="text/x-template" id="page1">
            <div>
                <input type='text' class='searchInput' placeholder='輸入名字查詢' v-model='searchTxt'>
                <table >
                    <tr class="blue">
                        <th>序號(hào)</th>
                        <th>姓名</th>
                        <th>性別</th>
                        <th>年齡</th>
                    </tr>
                    <tr v-for='(list,index) in filteredArticles'>
                        <td>{{index+1}}</td>
                        <td>{{list.name}}</td>
                        <td>{{list.sex}}</td>
                        <td>{{list.year}}</td>
                    </tr>
                </table >
                <div class='NoMore'>
                    <span class='NoMoreTxt' id='NoMoreTxt'>已經(jīng)到底部了</span>
                </div>
            </div>
        </script>
    </body>
</html>

1.js:

$(document).ready(function() {
    Vue.use(VueRouter);

    // Page1  start
    var Page1 = Vue.extend({
        data() {
            return {
                searchTxt: '',
                list: [{
                        name: '吳邪',
                        sex: '男',
                        year: '24'
                    },
                    {
                        name: '陳皮阿四',
                        sex: '男',
                        year: '50'
                    },
                    {
                        name: '云彩',
                        sex: '女',
                        year: '20'
                    },
                    {
                        name: '阿寧',
                        sex: '女',
                        year: '23'
                    }
                ],
            }
        },
        computed: {
            // 計(jì)算數(shù)學(xué),匹配搜索
            filteredArticles: function() {
                var articles_array = this.list,
                    searchString = this.searchTxt;

                if (!searchString) {
                    return articles_array;
                }

                searchString = searchString.trim().toLowerCase();

                articles_array = articles_array.filter(function(item) {
                    if (item.name.toLowerCase().indexOf(searchString) !== -1) {
                        return item;
                    }
                })

                // 返回過來后的數(shù)組
                return articles_array;;
            }
        },
        template: "#page1",
        watch: {
            filteredArticles(newVal, oldVal) { //監(jiān)控單個(gè)變量
                var arr = newVal;
                if (arr.length <= 0) {
                    $('#NoMoreTxt').text('暫無相關(guān)數(shù)據(jù)');
                } else {
                    $('#NoMoreTxt').text('已經(jīng)到底部了');
                }

            }
        }
    })
    //Page1  end

    var router = new VueRouter({
        routes: [{
            path: '/',
            name: 'Page1',
            meta: {
                index: 0,
                keepAlive: true,
                title: '頁(yè)面1'
            },
            component: Page1
        }]
    })

    var app = new Vue({
        el: '#app',
        router
    }).$mount('#app')
})

1.css:

@CHARSET "UTF-8";

body {
    width: 100%;
    height: 100%;
}

body,
div,
p {
    margin: 0;
    padding: 0;
    text-align: center;
}

.blue {
    color: lightseagreen;
    font-weight: bold;
}

table,
tr {
    width: 100%;
}

.searchInput {
    width: 60%;
    height: 30px;
    margin: 50px 0 20px 0;
    border-radius: 10px;
    padding-left: 10px;
    outline: none;
    border: 1px solid #111;
}

.p_list {
    width: 100%;
    display: flex;
    margin: 20px 0;
}

.p_list span {
    width: 25%;
    display: inline-block;
}

.NoMore {
    font-size: 14px;
    color: #888;
    margin-top: 30px;
    text-align: center
}

.NoMoreTxt:before {
    content: "";
    width: 100px;
    height: 1px;
    display: inline-block;
    margin-bottom: 5px;
    margin-right: 1px;
    background-color: #dadada;
}

.NoMoreTxt:after {
    content: "";
    width: 100px;
    height: 1px;
    display: inline-block;
    background-color: #dadada;
    margin-bottom: 5px;
    margin-left: 10px;
}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末晋渺,一起剝皮案震驚了整個(gè)濱河市镰绎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌木西,老刑警劉巖畴栖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異八千,居然都是意外死亡吗讶,警方通過查閱死者的電腦和手機(jī)燎猛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來照皆,“玉大人重绷,你說我怎么就攤上這事∧せ伲” “怎么了昭卓?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)瘟滨。 經(jīng)常有香客問我候醒,道長(zhǎng),這世上最難降的妖魔是什么杂瘸? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任倒淫,我火速辦了婚禮,結(jié)果婚禮上败玉,老公的妹妹穿的比我還像新娘昌简。我一直安慰自己,他們只是感情好绒怨,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布纯赎。 她就那樣靜靜地躺著,像睡著了一般南蹂。 火紅的嫁衣襯著肌膚如雪犬金。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天六剥,我揣著相機(jī)與錄音晚顷,去河邊找鬼。 笑死疗疟,一個(gè)胖子當(dāng)著我的面吹牛该默,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播策彤,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼栓袖,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了店诗?” 一聲冷哼從身側(cè)響起裹刮,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎庞瘸,沒想到半個(gè)月后捧弃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年违霞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了嘴办。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡买鸽,死狀恐怖户辞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情癞谒,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布刃榨,位于F島的核電站弹砚,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏枢希。R本人自食惡果不足惜桌吃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望苞轿。 院中可真熱鬧茅诱,春花似錦、人聲如沸搬卒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽契邀。三九已至摆寄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間坯门,已是汗流浹背微饥。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留古戴,地道東北人欠橘。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像现恼,于是被迫代替她去往敵國(guó)和親肃续。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容