我有一个显示文件夹和文档的jstree,它工作得很好,但每个节点都显示一个文件夹图标。我的json中有一个type属性,用于确定它是文档还是文件夹(0文件夹,1个文档),但我无法弄清楚如何切换它。 这就是我的代码的样子。
我尝试从the demo page复制代码,但显然无效
$('#tree').jstree({
'core': {
'plugin': ['themes', 'types'],
"types": {
"#": {
"valid_children": ["file"]
},
"file": {
"icon": "/Styles/file.png",
"valid_children": []
}
},
'check_callbacks': true,
'themes': { 'stripes': true },
'data': {
type: 'POST',
contentType: 'application/json; charset=utf-8',
url: 'V2_DocTreeView.aspx/GetChildrenFor',
data: function (node) {
var group = 0;
if (node.id == "#")
group = getParameterByName("group");
else
group = node.id;
return '{id: "' + group + '"}';
}
}
}
}
)
提前致谢
答案 0 :(得分:0)
问题是我的类型定义和插件标记在核心内部而不是外部应该是,而json(我的模型真的)没有正确设置类型属性。这就是树的样子
$('#tree').jstree({
'core': {
'check_callback': true,
'themes': { 'stripes': true },
'data': {
type: 'POST',
contentType: 'application/json; charset=utf-8',
url: 'V2_DocTreeView.aspx/GetChildrenFor',
data: function (node) {
var group = 0;
if (node.id == "#")
group = getParameterByName("group");
else
group = node.id;
return '{id: "' + group + '"}';
}
}
},
'types': {
"default": {
"valid_children": ["default", "file"]
},
"file": {
"icon": "./Styles/file.png",
"valid_children": []
}
},
'plugins': ['types']
}