【问题标题】:How Vue.js 1x filterBy works?Vue.js 1x filterBy 是如何工作的?
【发布时间】:2017-04-24 15:59:08
【问题描述】:

我想在我的应用中实现一个过滤器,例如 1x 版本的过滤器中提供的 filterBY Vue.js...

我正在尝试创建一个计算属性以返回一个数组,其中的对象与变量中传递的某个字符串匹配...但我的目标是使某些东西可重用,而不是提供每次搜索的属性...

感谢大家的关注

【问题讨论】:

  • 我不知道你是否已经知道这一点:vuejs.org/v2/guide/migration.html#Replacing-the-filterBy-Filter 也许显示一些 Vue 1 代码来实现你想要做的事情?
  • 嗨,我正在尝试过滤一个对象数组,但深入到所有对象属性和孩子的属性中,但我们找到了解决这个问题的解决方案......我会做一个小提琴来展示结果,谢谢关注!! =D

标签: javascript vue.js vuejs2


【解决方案1】:

我在 Facebook 群组 Vue.js Brazil 上得到了用户 Israel Sant'Anna 的帮助,完全解决了这个需求,看看解决方法:

var filterList = function(arr, filterTerm){
if (filterTerm === '') return arr
return deepFilter(arr, filterTerm)

}

var deepFilter = function(arr, filterTerm){ 返回 arr.filter(item => {

if (typeof item === 'object'){
        return deepFilter(Object.values(item), filterTerm).length > 0;
}

if(item.toString().indexOf(filterTerm)>=0){
    return true;
}

}) }

https://jsfiddle.net/igortrindade/3jr27cwm/6/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-14
    • 2012-04-08
    • 2015-09-18
    • 1970-01-01
    • 2010-12-28
    • 2019-09-25
    相关资源
    最近更新 更多