NutzCN Logo
问答 nutzwk 添加菜单,选择上级菜单不能加载数据
发布于 20天前 作者 qq_cdeebfe2 73 次浏览 复制 上一个帖子 下一个帖子
标签: nutzwk

nutzwk 添加菜单,选择上级菜单不能加载数据,node.id总是等于#

function initTreeView() {
        $("#jsTreeParentUnit").jstree({
            plugins: ["wholerow", "json_data"],
            core: {
                data: {
                    dataType: "json",
                    url: function (node) {
                        return node.id === "#" ? "${base}/platform/sys/menu/tree" : "${base}/platform/sys/menu/tree?pid=" + node.id
                    }
                },
                multiple: false
            }
        }).on("dblclick.jstree", function (node) {
            selectParentMenu();
        });
    }
14 回复

加载的数据不对导致是#号?

@wendal 是哪里的问题,我到现在也没有解决
SELECT * FROM sys_menu WHERE parentId='' AND type='menu' ORDER BY location ASC, path ASC
这条语句查询结果为空

@At
    @Ok("json")
    @RequiresPermissions("sys.manager.menu")
    public Object tree(@Param("pid") String pid) {
        List<Authority> list = menuService.query(Cnd.where("parentId", "=", Strings.sBlank(pid)).and("type", "=", "menu").asc("location").asc("path"));
        List<Map<String, Object>> tree = new ArrayList<>();
        for (Authority menu : list) {
            Map<String, Object> obj = new HashMap<>();
            obj.put("id", menu.getId());
            obj.put("text", menu.getName());
            obj.put("children", menu.isHasChildren());
            tree.add(obj);
        }
        return tree;
    }

pid是空?

那你现在是数据库里面没有匹配的记录,还是怎样?

还是说pid没传到入口方法?

我直接用nutzwk源码搭建起来的环境菜单也是出不来,但我看网上的demo是可以加载出菜单来的

默认加载第一层的时候pid应该就是空的吧 ?

去数据库看看?

看了,数据库和nutzwk的是一样的,应该是没有问题,list页面展示的菜单是可以正常显示的,就是添加菜单页面的查找带回的菜单显示有这个问题

SELECT * FROM sys_menu WHERE parentId=''
parentId明明是有空的数据为什么查不出来呢?

SELECT * FROM sys_menu WHERE parentId is null 就可以查的出来数据

数据库里面值是null,而非空字符串,用空字符串去查,当然没结果

Strings.sBlank(pid) 改成 pid

添加回复
请先登陆
回到顶部