Javascript ExtJS 6.2.1中的小部件列错误

Javascript ExtJS 6.2.1中的小部件列错误,javascript,extjs,Javascript,Extjs,我有一个带有小部件列的树面板。小部件列的定义如下: { xtype: 'widgetcolumn', width: 80, dataIndex: 'slider', widget: { xtype: 'slider' }, onWidgetAttach: function(col, widget, rec) { widget.setVisible(rec.get("leaf")); } } 因此,任务是根据

我有一个带有小部件列的树面板。小部件列的定义如下:

{
    xtype: 'widgetcolumn',
    width: 80,
    dataIndex: 'slider',
    widget: {
        xtype: 'slider'
    },
    onWidgetAttach: function(col, widget, rec) {
        widget.setVisible(rec.get("leaf"));
    }
}
因此,任务是根据节点的类型显示或隐藏滑块小部件。如果它是叶节点,那么小部件应该是可见的,否则它应该是隐藏的。我这样做的方式是通过
onwidgetatch
方法。但这就是我得到的结果:


请注意一些没有小部件的叶节点。不幸的是,由于这个bug的随机性,我无法提供一个可复制的例子。例如,如果我多次刷新面板,则在某些行中会出现小部件,而在某些行中则会消失。它的行为就像一个随机数生成器。那么,这可能有什么问题,我该如何修复它呢?

为了重现这个错误,我在a中创建了一个带有滑块小部件的树-使用准确的
onwidgetatch
,它似乎工作正常。肯定还有另一个因素在起作用。控制台中是否有任何错误?请将您的代码与小提琴进行比较,如果有任何明显的差异,请告诉我。谢谢您的小提琴Jaimee。只有一个细微的区别——我使用的是远程数据存储,而不是内联,就像您的示例中那样。但就所有其他方面而言,代码是完全相同的。我对可能的原因有一个猜测——我知道,ExtJS中有一种优化,小部件组件以某种方式被重用,由于这种重用性,当我在“文件夹”节点中隐藏小部件时,这个小部件很有可能随后在其他行中呈现。因此,他们建议在执行此任务时不要使用“渲染”侦听器-如果您尝试,您将看到,小部件的渲染次数少于面板中的行数。