2

TreeNodes (つまり、フォルダ) をユーザーが編集できるようにすることはできますか? TreeNode クラスに editable というオプションがあることがわかりましたが、それを機能させることも、その使用例を見つけることもできませんでした。

私のもう 1 つのクエストは、入力ボックスをノードに配置して、ユーザーが各アイテムに数字を入力できるようにすることです。どうすればいいですか?

4

1 に答える 1

4

new Ext.tree.TreeEditor(yourTree);ツリーを編集可能にするには、追加するだけで十分です。

しかし、他の 2 つのコンストラクター パラメーターを使用して、さらに多くのことを定義できます。

var te = new Ext.tree.TreeEditor(tree, new Ext.form.NumberField({
    allowBlank: false,
    blankText: 'A number is required'
}), {
    editDelay: 100,
    revertInvalid: false
});

te.on("complete", function(node) {
    alert(node.startValue + ' -> ' + node.editNode.text);
});

そこで NumberField を使用したので、そこには数字のみを入力できます。

また、すべての TreeNode (はい、あなたが言及したもの)のeditableプロパティを使用するか、TreeEditorのbeforestarteditイベントを使用して、エディションを制限できます。

te.on('beforestartedit', function(ed, boundEl, value) {
    if (ed.editNode.leaf)
      return false;
});

jsbin.com/ExtJS-TreeEditor/2には、 Sencha の Checkbox TreePanel の例に基づいて作成したライブの例があります。違いは、私の例のフォルダー ノードを編集できることです。

フォルダを選択して、そのフォルダをもう一度クリックすると、エディタ (NumberField) がフォルダ名の上に表示されます。

于 2010-12-21T02:31:20.333 に答える