В extjs, Как не раскрываться в дереве при двойном щелчке - PullRequest
2 голосов
/ 23 ноября 2011

Я хочу, чтобы моя древовидная панель что-то делала при двойном щелчке.

Но когда я дважды щелкаю по триоду, узел всегда растягивается или сворачивается.

Как отключить это расширение или свертывание изпроисходит, когда я дважды щелкаю.

мой английский не очень хорош, извините!

Ответы [ 3 ]

12 голосов
/ 30 мая 2013

Вы можете добавить toggleOnDblClick: false в viewConfig при объявлении treepanel, просто добавьте viewConfig как любое другое свойство:

{
    xtype: 'treepanel',   
    id: 'tree_id',
    name: 'tree_name',
    viewConfig: {
         toggleOnDblClick: false
    },
    width:....
}
3 голосов
/ 26 мая 2012
yourTree.on('beforeitemdblclick', function() { return false; });
0 голосов
/ 06 января 2012

На самом деле переопределение (Ext.tree.TreeNodeUI.override) не является хорошей практикой (поскольку оно меняет поведение для всех приложений TreeNodeUI), поэтому я предлагаю переопределить метод createNode в TreeLoader текущего дерева:

new Ext.tree.TreePanel({
...
loader:new Ext.tree.TreeLoader({
            ...
            // override the CreateNode function
            createNode:function (attr) {
                attr.uiProvider = Ext.extend(Ext.tree.TreeNodeUI, {
                    // private
                    onDblClick:function (e) {
                        e.preventDefault();
                        if (this.disabled) {
                            return;
                        }
                        if (this.fireEvent("beforedblclick", this.node, e) !== false) {
                            // if (this.checkbox) {
                            //     this.toggleCheck();
                            // }
                            // if (!this.animating && this.node.isExpandable()) {
                            //     this.node.toggle();
                            // }

                            // DO YOUR STAFF HERE

                            this.fireEvent("dblclick", this.node, e);
                        }
                    }
                });

                return Ext.tree.TreeLoader.prototype.createNode.call(this, attr);
            }});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...