美文网首页前端开发那些事儿
前端模糊搜索实现与深拷贝cloneDeep

前端模糊搜索实现与深拷贝cloneDeep

作者: 飞鹰_007 | 来源:发表于2020-12-21 18:36 被阅读0次

    对获取到的原始数组数据进行深拷贝,以免改变原始数组结构;通过输入值匹配数组对象值来重组匹配出来的数组。

    1.安装lodash: npm install lodash --save

    2.组件中使用:

    import _ from 'lodash'

    <input v-model="name"  @input="searchInfo" />

    <ul>

        <li v-for="(item,index) in searchList"  :key="index">

            {{item.name}}

        </li>

    </ul>

    data() {

        return {

            name: '',

            dataList:[{name:'张三',sex:'男'},{name:'李四',sex:'男'}],

            searchList:[],

        }

    },

    searchInfo: _.debounce(function() {

            this.search();

     }, 200),

    search(){

        if(this.name){

            let dataList = _.cloneDeep(this.dataList);

            let inputName = this.name.toLowerCase(); //转小写搜索更精确

            let newList = []; //  用于存放搜索出来数据的新数组

            dataList .filter(item => {

                if (item.name.toLowerCase().indexOf(inputName) !== -1) {

                    newList.push(item);

                 }

            }) 

            this.searchList = newList;

        }

    }

    相关文章

      网友评论

        本文标题:前端模糊搜索实现与深拷贝cloneDeep

        本文链接:https://www.haomeiwen.com/subject/opcdnktx.html