【问题标题】:How to make an item active(selected) by default while using Treelist(Ext.list.Tree) in Extjs 6?如何在 Extjs 6 中使用 Treelist(Ext.list.Tree) 时默认激活(选中)项目?
【发布时间】:2016-12-21 10:52:42
【问题描述】:

我想默认选择树列表中的第一项。我正在研究 extjs 6。任何帮助将不胜感激。

【问题讨论】:

标签: extjs6 treelist


【解决方案1】:

试试这个:

listeners: {
    element: 'element',
    painted: function (treelistEl) {
        var treelist = treelistEl.component;
        treelist.setSelection(treelist.getStore().getRoot().firstChild);
    }
}

【讨论】:

  • 此解决方案适用于树形面板,但此处使用树形列表。我需要一些解决方案来为 Ext.list.Tree 组件设置活动。
  • 也适用于树列表。不要让命名混淆你。我刚刚编辑了我的答案。
  • 仍然无法正常工作。我正在使用 ViewModel 而不是树存储。这是我的小提琴 [fiddle.sencha.com/#view/editor&fiddle/1n7i]。请让我知道我在做什么。
  • 你是对的。 “treelist”不是普通的 ext 组件。它从 Ext.Widget 扩展而来,并且不直接触发任何事件。我已经编辑了我的答案以反映这一点。您应该在小提琴的第 89 行之后添加它。附:此外,您应该去掉第 33-36 行。面板没有商店配置,因此您的小提琴会产生一些错误。
【解决方案2】:

这对我有用:

在树列表的监听器中:

painted: function (treelist) {
    var c = treelist.component;
    var model = c.getStore().getAt(0);
    c.setSelection(model);
}

这将触发同一个树列表上的 selectionchange 事件。

【讨论】:

    猜你喜欢
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    • 2013-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-04
    相关资源
    最近更新 更多