防止抖动的简单写法:(实现搜索功能)

        var timeout;
        this.$scope.$watch(()=>{return this.school_alias}, (inputText) => {
                if (inputText) {
                    if(timeout) {
                        this.$timeout.cancel(timeout);
                    }
                    timeout = this.$timeout(() => {
                        this.search_alias();
                    },200)
                }
        })
        
        this.school_list = data.data;
        this.school_list_params = angular.copy(this.school_list);
        
        //直接搜索学校别名
        search_alias() {
            this.school_list = this.school_list_params;
            this.school_list = this.school_list.filter(item => {
                return (item['school_name'].toLowerCase().indexOf(this.school_alias.toLowerCase()) !== -1) ||
                    (item['program_name'].toLowerCase().indexOf(this.school_alias.toLowerCase()) !== -1) ||
                    (item['program_type'].toLowerCase().indexOf(this.school_alias.toLowerCase()) !== -1) ||
                    (item['selectivity'].toLowerCase().indexOf(this.school_alias.toLowerCase()) !== -1) ||
                    (item['year'].toString().indexOf(this.school_alias) !== -1)

            })
        }
        
        //input为空时
        onKeyUp(ev) {
            if (ev.keyCode === 8 && this.school_alias === '') {
                this.school_list = this.school_list_params;
            }
        }

你可能感兴趣的:(防止抖动的简单写法:(实现搜索功能))