0
我有以下的JSON樹結構:Fancytree不垮已擴展密鑰設定爲節點假
[
{
"expanded":"false",
"key":"_23",
"title":"Politics",
"data":{
"id":"23",
"name_en":"Politics",
"description_en":"",
"seo_title_en":"",
"seo_description_en":"",
"name_sr":"Politika",
"description_sr":"",
"seo_title_sr":"",
"seo_description_sr":"",
"slug_en":"politics",
"slug_sr":"politika"
},
"children":[
{
"key":"_24",
"title":"Domestic politics",
"data":{
"id":"24",
"name_en":"Domestic politics",
"description_en":"",
"seo_title_en":"",
"seo_description_en":"",
"name_sr":"Doma\u0107a politika",
"description_sr":"",
"seo_title_sr":"",
"seo_description_sr":"",
"slug_en":"domestic-politics",
"slug_sr":"domaca-politika"
}
}
]
},
{
"expanded":"false",
"key":"_21",
"title":"Sport",
"data":{
"id":"21",
"name_en":"Sport",
"description_en":"",
"seo_title_en":"",
"seo_description_en":"",
"name_sr":"Sport",
"description_sr":"",
"seo_title_sr":"",
"seo_description_sr":"",
"slug_en":"sport",
"slug_sr":"sport"
},
"children":[
{
"key":"_22",
"title":"Football",
"data":{
"id":"22",
"name_en":"Football",
"description_en":"",
"seo_title_en":"",
"seo_description_en":"",
"name_sr":"Fudbla",
"description_sr":"",
"seo_title_sr":"",
"seo_description_sr":"",
"slug_en":"football",
"slug_sr":"fudbla"
}
}
]
}
]
正如你看到的,在第一級的兩個節點已擴大設置爲false。但那些沒有顯示在樹上倒塌。
我從AJAX請求加載樹。這裏是init代碼:
$("#news-categories-table").fancytree({
icon: false,
checkbox: false,
titlesTabbable: true,
source: {
url: SITE_URL + "news_categories/get_tree",
cache: false
},
extensions: ["table", "dnd"],
table: {
nodeColumnIdx: 1 // render node expander, icon, and title to this column (default: #0)
},
dnd: {
autoExpandMS: 400,
draggable: { // modify default jQuery draggable options
zIndex: 1000,
scroll: false,
containment: "parent",
revert: "invalid"
},
preventRecursiveMoves: true, // Prevent dropping nodes on own descendants
preventVoidMoves: true, // Prevent dropping nodes 'before self', etc.
dragStart: function(node, data) {
return true;
},
dragEnter: function(node, data) {
return true;
},
dragExpand: function(node, data) {
return true;
},
dragOver: function(node, data) {
return true;
},
dragLeave: function(node, data) {
return true;
},
dragStop: function(node, data) {
return true;
},
dragDrop: function(node, data) {
data.otherNode.moveTo(node, data.hitMode);
}
},
renderColumns: function(event, data) {
var node = data.node,
$tdList = $(node.tr).find(">td");
// td 1 value is edit icon
$tdList.eq(0).html(node.data.id);
}
});
可以這樣解決嗎?我之前使用過fancytree,舊版本沒有問題。展開的虛假節點在加載樹時摺疊。
下面是截圖。
也就是說結構是從fancytree API的這種方法(一個或多個)儲存。喜歡這個。 var tree = $(「#news-categories-table」)。fancytree(「getTree」)。toDict(false)'。那是錯的嗎? – cvetan
我發現錯誤。我沒有JSON stringify樹結構將其作爲JSON字符串發送到服務器,但數組。所以當我在服務器上進行JSON編碼時,它會搞亂文件類型。無論如何,現在沒問題。謝謝。 :) – cvetan