【发布时间】:2020-03-20 17:59:54
【问题描述】:
我尝试在我的制表树结构上调用setFilter 函数,以过滤掉项目。它似乎只过滤掉顶级父母。知道如何使这项工作适用于任何级别(任何孩子或父母)吗? http://tabulator.info/docs/4.1/tree 对过滤的工作原理没有多说。
功能
table.setFilter('id', '=', 214659) 没有返回任何东西...
树形结构
[
{
"level":0,
"name":"word1",
"id":125582,
"_children":[
{
"level":1,
"name":"word6",
"id":214659
},
{
"level":1,
"name":"word7",
"id":214633
},
{
"level":1,
"name":"word2",
"id":214263,
"_children":[
{
"level":2,
"name":"word8",
"id":131673
},
{
"level":2,
"name":"word9",
"id":125579
},
{
"level":2,
"name":"word10",
"id":125578
},
{
"level":2,
"name":"word4",
"id":172670,
"_children":[
{
"level":3,
"name":"word13",
"id":172669
},
{
"level":3,
"name":"word14",
"id":174777
},
{
"level":3,
"name":"word5",
"id":207661,
"_children":[
{
"level":4,
"name":"word15",
"id":216529
},
{
"level":4,
"name":"word16",
"id":223884,
"_children":[
{
"level":5,
"name":"word17",
"id":223885,
"_children":[
{
"level":6,
"name":"word18",
"id":229186,
"_children":[
{
"level":7,
"name":"word19",
"id":219062
},
{
"level":7,
"name":"word20",
"id":222243
}
]
}
]
}
]
}
]
}
]
},
{
"level":2,
"name":"word3",
"id":214266,
"_children":[
{
"level":3,
"name":"word11",
"id":216675
},
{
"level":3,
"name":"word12",
"id":216671
}
]
}
]
}
]
}
]
【问题讨论】:
-
你不能在制表符之外过滤数据并只渲染新数据吗?以前没用过,就是问问。考虑到它仍然是 javascript 它应该可以工作
-
什么是有效的方法?我的 JSON 中有大约 100 万条记录。
-
迭代和递归函数......这取决于过滤条件是什么以及您要返回什么。
-
id等于 214659 的任何记录,例如...