jQuery MiniUI

 找回密码
 立即注册
查看: 2229|回复: 3
打印 上一主题 下一主题

关于tree数据的问题 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2017-8-27 22:17:05 |只看该作者 |倒序浏览
我现在有5万条数据,其中有一个字段tag。 由于我只需要tag=1的数据和tag=1父级节点的数据。但是在后台查询tag=1的数据,然后去查询tag=1的所有父级节点,生成一棵树。但是这样子后台太耗时间了。
所以我干脆查询了所有的数据, 生成了下面这种结构的数据,其中有些节点是tag=1。

然后在前台根据这个方法过滤:
tree.filter(function(node){    if(node.tag="1") return true;});这样过滤显示tag=1的节点以及它们的所有父节点,效率还算可以。


然后想问下,前台返回所有的json数据时,有没有办法先在json过滤出tag=1的数据和它们的父节点数据,再把过滤后的数据加载到树形控件上。这样我就不用使用tree.filter这个方法了。  这个问题已经折腾了挺久,望请赐告!











[
    {
        id: "A",
        text: "ddd",
        expanded: false,
        children: [
            {
                id: "AA",
                text: "DataGrid",
                tag: "1"
            },
            {
                id: "AB",
                text: "Tree"
            },
            {
                id: "AC",
                text: "TreeGrid ",
                children: [
                    {
                        id: "AA",
                        text: "DataGrid"
                    },
                    {
                        id: "AB",
                        text: "Tree",
                        tag: "1"
                    },
                    {
                        id: "AC",
                        text: "TreeGrid "
                    }
                ]
            }
        ]
    },
    {
        id: "B",
        text: "B",
        expanded: false,
        children: [
            {
                id: "BA",
                text: "Panel"
            },
            {
                id: "BB",
                text: "Splitter"
            },
            {
                id: "BC",
                text: "Layout ",
                tag: "1"
            }
        ]
    },
    {
        id: "C",
        text: "C",
        expanded: false,
        children: [
            {
                id: "CA",
                text: "Pager"
            },
            {
                id: "CB",
                text: "Tabs",
                tag: "1"
            },
            {
                id: "CC",
                text: "NavBar"
            },
            {
                id: "CD",
                text: "Menu"
            }
        ]
    }
]


Rank: 8Rank: 8

沙发
发表于 2017-8-28 10:28:44 |只看该作者
本帖最后由 dforce 于 2017-8-28 14:35 编辑

MiniUI只是前端控件,对数据没有控制,我们能控制的只是控件层面。你生成树之后我们可以给你过滤,但是生成树前的数据还是需要你自己处理的。

Rank: 3Rank: 3

板凳
发表于 2017-8-29 23:18:28 |只看该作者
dforce 发表于 2017-8-28 10:28
MiniUI只是前端控件,对数据没有控制,我们能控制的只是控件层面。你生成树之后我们可以给你过滤,但是生成 ...

那个filter方法是怎么实现的嘛?望赐教,应该是有一个方法的

Rank: 8Rank: 8

地板
发表于 2017-8-30 09:31:06 |只看该作者
1113822338 发表于 2017-8-29 23:18
那个filter方法是怎么实现的嘛?望赐教,应该是有一个方法的

这是我们内部的方法,外部只需要使用tree.filter就可以。
你这里还是请后台处理数据,前端处理数据是不可靠的,性能和安全都是有问题的。

Archiver|普加软件

GMT+8, 2024-9-29 21:18 , Processed in 1.062791 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部