2014-02-26 45 views
0

我宣佈我的網頁上像這樣的角度,劍道樹視圖:使用angular-kendo樹視圖,如何在頁面加載時展開元素?

<div id="treeview" kendo-tree-view="ktv" k-options="treeDataScope"></div> 

我想擴大根節點頁面加載時。角劍道的例子是少之又少......劍道UI例子說做這樣的事情:

var treeview = $("#treeview").data("kendoTreeView"); 
// expand the item with text "foo" 
treeview.expand(treeview.findByText("foo")); 

// expand all loaded items 
treeview.expand(".k-item"); 

我(顯然)沒有宣佈在這樣的樹視圖,所以我沒有對「樹視圖」的引用,而我所做的任何事似乎都能夠得到該引用。我可以獲得對「treeview」div的引用,但似乎無法弄清楚如何獲取具有「findByText」方法的kendo「treeview」的引用。

嘗試,看看我能找到的方法,我試過如下:

$("#treeview").findByText; 
$("#treeview").kendoTreeView().findByText; 
angular.element("#treeview").findByText; 
angular.element("#treeview").kendoTreeView().findByText; 

但都最終爲未定義。

任何幫助,將不勝感激!

回答

3

您可以使用數據-expanded屬性。

例如:

<ul kendo-tree-view> 
    <li data-expanded="true"> 
     Products 

或(使用角表達,使其動態):

<ul kendo-tree-view> 
    <li data-expanded="{{$state.includes('products')}}"> 
     Products 

或者,如果被動態地從一個數據源填充樹視圖中,可以使用擴展數據項選項,例如:

$("#treeview").kendoTreeView({ 
    dataSource: { 
     data: [{ 
      text: "Products", 
      expanded: true, 
      items: [{ text: "X" }, { text: "Y" }, { text: "Z" }] 
     }] 
    } 
}) 
0

我不是很確定的角度,但與普通的舊劍道,你會得到這樣到TreeView參考:

var treeview = $("#treeview").data("kendoTreeView"); 
var node = treeView.findByText('node text');    
treeView.expand(node); 

你可以使用一些其他的方法來查找節點,但如果你知道文本,應該是最簡單的。現在,如果你使用的是角度,這可能是不正確的,但我不認爲這會導致樹視圖API的行爲有所不同。

我想你可能會丟失的唯一一塊是如何獲得到TreeView的參考,那就是這是什麼一樣:

var treeview = $("#treeview").data("kendoTreeView"); 

參見:Another answer I gave on expanding a node

相關問題