Sencha EXTJS MODERN 6.5.3 - Ext.list.Tree, флажок не работает

Мы используем древовидный список в sencha modern extjs версии 6.5.3, в нем у нас есть древовидный список с флажком на каждом узле. У нас возникла проблема с установкой снятия флажка для узлов дерева при нажатии на сам флажок, тогда как он работает нормально, когда мы нажимаем на ярлык флажка.

он пропускает правильное проверенное значение, когда отмечен / не отмечен, но дисплей остается, например, когда флажок снят, не отмечен - он показывает "проверено" и наоборот. мы также попытались установить атрибут dom проверяемого элемента, хотя он не отражает элемент флажка.

PS: Есть ли какой-либо компонент, доступный в современной такой же классической панели дерева с флажком в качестве узла.

Этот флажок применяется из класса переопределения для списка дерева.. как показано ниже:

Ext.define('MapViewer.view.main.Kaartopbow.BPPTXMLOverride', {
    extend: 'Ext.list.TreeItem',
    alias: 'widget.bpptlistitemview',
    element: {
        reference: 'element',
        tag: 'li',
        cls: Ext.baseCSSPrefix + 'treelist-item',

        children: [{
            reference: 'rowElement',
            cls: Ext.baseCSSPrefix + 'treelist-row',

            children: [{
                reference: 'wrapElement',
                cls: Ext.baseCSSPrefix + 'treelist-item-wrap',
                children: [{
                    reference: 'iconElement',
                    cls: Ext.baseCSSPrefix + 'treelist-item-icon'
                }, {
                    reference: 'checkElement',
                    cls: Ext.baseCSSPrefix + 'treelist-item-check',
                    tag: 'input',
                    type: 'checkbox'
                }, {
                    reference: 'textElement',
                    cls: Ext.baseCSSPrefix + 'treelist-item-text'
                }, {
                    reference: 'expanderElement',
                    cls: Ext.baseCSSPrefix + 'treelist-item-expander'
                }]
            }]
        }, {
            reference: 'itemContainer',
            tag: 'ul',
            cls: Ext.baseCSSPrefix + 'treelist-container'
        }, {
            reference: 'toolElement',
            cls: Ext.baseCSSPrefix + 'treelist-item-tool'
        }]
    },

    updateChecked: function (checkedvalue, oldCheckValue) {

        var domele = Ext.getDom(this.checkElement);

        if (checkedvalue) {
            domele.checked = true;
        } else {
            domele.checked = false;
        }
    },


    config: {
        checked: undefined
    },
    privates: {

        doNodeUpdate: function (node) {
            var me = this,
                textProperty = this.getTextProperty(),
                iconClsProperty = this.getIconClsProperty();

            if (textProperty) {
                me.setText(node.data[textProperty]);
            }
            if (iconClsProperty) {
                me.setIconCls(node.data[iconClsProperty]);
            }
            if (node.data['parentId'] != "root") {
                me.setChecked(node.data['checked']);

            } else {

                this.hideCheckedField(node);

            }
            var ref = this.wrapElement;
            if (node.data['HighlightRecord']) {
                ref.addCls('treeItemHighlightCls');
            } else {
                ref.removeCls('treeItemHighlightCls');
            }
            me.updateExpandCls();
            me.setLoading(node.isLoading());
            me.setLeaf(node.isLeaf());
            me.doUpdateExpandable();
            this.setRowCls(node && node.data[this.rowClsProperty])
        },
        hideCheckedField: function (node) {
            Ext.getDom(this.checkElement).style.display = 'none';
        }
    }
});
=============================================
This is the code for the tree list:

Ext.define('MapViewer.view.main.Kaartopbow.BPPTXML', {
    extend: 'Ext.list.Tree',
    requires: [
        'Ext.list.Tree',
        'Ext.list.TreeItem',
        'MapViewer.view.main.Kaartopbow.BPPTXMLController',
        'MapViewer.view.main.Kaartopbow.BPPTXMLOverride'
    ],
    alias: 'widget.bpptxml',
    userCls: 'kaartopbowPTXmlCls',
    defaults: {
        xtype: 'bpptlistitemview',
        dataIndex: 'text'
    },
    rootVisible: false,
    scrollable: true,
    disableSelection: true,
    //itemTpl: '{text}',
    //store: 'xmltreestore',
    controller: 'bpptxmlcontroller',
    listeners: {
        itemclick: 'onBPPTXMLTreeItemClick'
    }
});

0 ответов

Другие вопросы по тегам