Skip to content

Commit 8e75119

Browse files
author
zTree
authored
Merge pull request #464 from imyuyu/master
针对节点名称和节点标题,提供前端渲染方法。
2 parents 5467c29 + 36499ff commit 8e75119

File tree

4 files changed

+86
-3
lines changed

4 files changed

+86
-3
lines changed

api/apiCss/api.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,12 @@ var apiContent = {
147147
{id:5202, pId:520, t:"idKey", name:"idKey : \"id\",", iconSkin:"core", showAPI:true},
148148
{id:5203, pId:520, t:"pIdKey", name:"pIdKey : \"pId\",", iconSkin:"core", showAPI:true},
149149
{id:5204, pId:520, t:"rootPId", name:"rootPId : null", iconSkin:"core", showAPI:true},
150-
{id:521, pId:50, name:"}"},
150+
{id:521, pId:50, name:"},"},
151+
152+
{id:530, pId:50, t:"render", name:"render : {", open:true},
153+
{id:5301, pId:530, t:"name", name:"name : null,", iconSkin:"core", showAPI:true},
154+
{id:5302, pId:530, t:"title", name:"title : null", iconSkin:"core", showAPI:true},
155+
{id:531, pId:50, name:"}"},
151156
{id:51, pId:1, name:"},"},
152157
{id:52, pId:1, name:""},
153158

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<div class="apiDetail">
2+
<div>
3+
<h2><span>Function(name, treeNode)</span><span class="path">setting.data.render.</span>name</h2>
4+
<h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
5+
<div class="desc">
6+
<p></p>
7+
<div class="longdesc">
8+
<p>用于渲染节点名称时进行重新渲染节点名称,最终节点名称将以方法返回的值为准</p>
9+
<p>默认值:null</p>
10+
</div>
11+
</div>
12+
<h3>Function 参数说明</h3>
13+
<div class="desc">
14+
<h4><b>name</b><span>String</span></h4>
15+
<p>对应 zTree 利用 setting.key.name 获取到的节点名称 </p>
16+
<h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
17+
<p>待渲染节点的 JSON 数据对象</p>
18+
<p class="highlight_red">针对根进行渲染时,treeNode = null</p>
19+
<h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
20+
<p>返回值是 渲染后的节点名称</p>
21+
</div>
22+
<h3>setting & function 举例</h3>
23+
<pre xmlns=""><code>
24+
var setting = {
25+
data: {
26+
render: function(name,treeNode){
27+
return name + treeNode.id;
28+
}
29+
}
30+
};
31+
......</code></pre>
32+
</div>
33+
</div>
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<div class="apiDetail">
2+
<div>
3+
<h2><span>Function(title, treeNode)</span><span class="path">setting.data.render.</span>title</h2>
4+
<h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
5+
<div class="desc">
6+
<p></p>
7+
<div class="longdesc">
8+
<p>用于渲染节点标题时进行重新渲染节点标题,最终节点标题将以方法返回的值为准</p>
9+
<p>默认值:null</p>
10+
</div>
11+
</div>
12+
<h3>Function 参数说明</h3>
13+
<div class="desc">
14+
<h4><b>title</b><span>String</span></h4>
15+
<p>对应 zTree 利用 setting.key.title 获取到的节点标题 </p>
16+
<h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
17+
<p>待渲染节点的 JSON 数据对象</p>
18+
<p class="highlight_red">针对根进行渲染时,treeNode = null</p>
19+
<h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
20+
<p>返回值是 渲染后的节点标题</p>
21+
</div>
22+
<h3>setting & function 举例</h3>
23+
<pre xmlns=""><code>
24+
var setting = {
25+
data: {
26+
render: function(title,treeNode){
27+
return title + treeNode.id;
28+
}
29+
}
30+
};
31+
......</code></pre>
32+
</div>
33+
</div>

js/jquery.ztree.core.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@
8484
url: "url",
8585
icon: "icon"
8686
},
87+
render: {
88+
name: null,
89+
title: null,
90+
},
8791
simpleData: {
8892
enable: false,
8993
idKey: "id",
@@ -646,11 +650,19 @@
646650
if (typeof newName !== 'undefined') {
647651
node[key] = newName;
648652
}
649-
return "" + node[key];
653+
var rawName = "" + node[key];
654+
if($.isFunction(setting.data.render.name)){
655+
return setting.data.render.name.call(this,rawName,node);
656+
}
657+
return rawName;
650658
},
651659
nodeTitle: function (setting, node) {
652660
var t = setting.data.key.title === "" ? setting.data.key.name : setting.data.key.title;
653-
return "" + node[t];
661+
var rawTitle = "" + node[t];
662+
if($.isFunction(setting.data.render.title)){
663+
return setting.data.render.title.call(this,rawTitle,node);
664+
}
665+
return rawTitle;
654666
},
655667
removeNodeCache: function (setting, node) {
656668
var children = data.nodeChildren(setting, node);

0 commit comments

Comments
 (0)