jQuery MiniUI

标题: tree懒加载塞数据问题 [打印本页]

作者: hzm2210    时间: 2018-6-13 09:34:49     标题: tree懒加载塞数据问题

懒加载tree在点击加号展开的时候,请求了节点下面的数据,这个数据是怎么塞到节点里面去的呢?
这个是官网例子的第一条数据

[attach]10982[/attach]

这个是第二条

[attach]10983[/attach]



这个是示例代码:
<script type="text/javascript">
    mini.parse();

    function onBeforeTreeLoad(e) {
        var tree = e.sender;    //树控件
        var node = e.node;      //当前节点
        var params = e.params;  //参数对象

        //可以传递自定义的属性
        params.myField = "123"; //后台:request对象获取"myField"

    }

    function refreshNode() {
        var tree = mini.get("tree1");
        var node = tree.getSelectedNode();
        if (node) {
            tree.loadNode(node);
        }
    }

    </script>


没有看出是怎么塞进去的啊

作者: dforce    时间: 2018-6-13 09:59:55

点击+号的时候,如果这个节点没有加载过,那么就会传递 这个节点的id到后台,查询这个节点的子节点,然后自动返回加到这个节点下。
不需要你处理什么,只需要返回和我们示例一样格式的数据就可以。
作者: hzm2210    时间: 2018-6-13 10:27:54

dforce 发表于 2018-6-13 09:59
点击+号的时候,如果这个节点没有加载过,那么就会传递 这个节点的id到后台,查询这个节点的子节点,然后自 ...

我不是在ul标签里面写的url,而是用的ajax调接口取数据然后把数据塞进树结构,现在就是塞不进去
作者: dforce    时间: 2018-6-13 11:04:15

hzm2210 发表于 2018-6-13 10:27
我不是在ul标签里面写的url,而是用的ajax调接口取数据然后把数据塞进树结构,现在就是塞不进去 ...

必须按我们的方式,url来加载,而不是主动通过ajax来添加
作者: hzm2210    时间: 2018-6-13 11:08:09

dforce 发表于 2018-6-13 11:04
必须按我们的方式,url来加载,而不是主动通过ajax来添加

但是通过url加载,怎么在请求头里面传东西呢,我需要传token,怎么传呢
作者: dforce    时间: 2018-6-13 15:55:54

hzm2210 发表于 2018-6-13 11:08
但是通过url加载,怎么在请求头里面传东西呢,我需要传token,怎么传呢

1 可以通过ajax-options={}来修改ajax属性
2 tree有onbeforeload事件,可以主动传递参数到后台。
作者: hzm2210    时间: 2018-6-13 17:04:35

dforce 发表于 2018-6-13 15:55
1 可以通过ajax-options={}来修改ajax属性
2 tree有onbeforeload事件,可以主动传递参数到后台。 ...

1、我把url写在html里面,就直接发起了请求,我在哪里设置ajax属性呢
2、onbeforeload事件里面只能传参数,不能传请求头(token只能放在请求头里面)
作者: dforce    时间: 2018-6-13 17:48:32

hzm2210 发表于 2018-6-13 17:04
1、我把url写在html里面,就直接发起了请求,我在哪里设置ajax属性呢
2、onbeforeload事件里面只能传参数 ...

tree的html标签里面写
作者: hzm2210    时间: 2018-6-14 09:19:00

本帖最后由 hzm2210 于 2018-6-14 09:24 编辑
dforce 发表于 2018-6-13 17:48
tree的html标签里面写

<ul id="tree1" class="mini-tree" url="http:/xxx/xxxx" style="width:300px;height:200px;padding:5px;"
                                                                                                                                showTreeIcon="true" textField="name" ajaxOptions={"token":变量} idField="id" parentField="pid" resultAsTree="false">        
</ul>

这样写?
作者: felt    时间: 2018-6-14 09:35:12

hzm2210 发表于 2018-6-14 09:19
这样写?

ajaxOptions={headers:{"Authorization":222}}
作者: hzm2210    时间: 2018-6-14 09:43:46

本帖最后由 hzm2210 于 2018-6-14 09:45 编辑
felt 发表于 2018-6-14 09:35
ajaxOptions={headers:{"Authorization":222}}

不行,写在html里面了,请求头里面还是没有token信息
这样写不行的话,我在想能不能在JS里面获取到这个tree,然后在js里面设置headers

作者: felt    时间: 2018-6-14 10:01:15

hzm2210 发表于 2018-6-14 09:43
不行,写在html里面了,请求头里面还是没有token信息
这样写不行的话,我在想能不能在JS里面获取到这个tre ...

测试过,肯定是可以的。
tree是同步加载的,如果需要在js里设置,需要在tree的标签内配置autoLoad=”false"
var tree = mini.get("tree1");
        var token="..."
        tree.setAjaxOptions({ headers: { "Authorization": token} });
        tree.load();
作者: hzm2210    时间: 2018-6-14 10:33:15

felt 发表于 2018-6-14 10:01
测试过,肯定是可以的。
tree是同步加载的,如果需要在js里设置,需要在tree的标签内配置autoLoad=”fals ...

在js里面设置完了之后,打印tree对象,在_ajaxOption对象里面的确看到了headers属性里面有token信息,但是浏览器的请求头里面没有看到
作者: felt    时间: 2018-6-14 10:43:45

hzm2210 发表于 2018-6-14 10:33
在js里面设置完了之后,打印tree对象,在_ajaxOption对象里面的确看到了headers属性里面有token信息,但 ...

[attach]10988[/attach]如图
作者: hzm2210    时间: 2018-6-14 10:58:48

felt 发表于 2018-6-14 10:43
如图

tree.setAjaxOptions报错,只有setAjaxOption方法
作者: felt    时间: 2018-6-14 12:23:45

hzm2210 发表于 2018-6-14 10:58
tree.setAjaxOptions报错,只有setAjaxOption方法

请使用最新版本
作者: hzm2210    时间: 2018-6-14 16:06:25

felt 发表于 2018-6-14 12:23
请使用最新版本

更新miniui.js这个文件的确是可以传了,但是样式什么的乱掉了,表格也显示不出来了,想问下如果更新版本,具体要更新哪些文件啊
作者: felt    时间: 2018-6-14 16:46:59

hzm2210 发表于 2018-6-14 16:06
更新miniui.js这个文件的确是可以传了,但是样式什么的乱掉了,表格也显示不出来了,想问下如果更新版本 ...

scripts文件夹内所有文件。




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2