【发布时间】:2013-08-14 07:44:11
【问题描述】:
我有 ExtJS Dataview 及其项目的以下模板。
<div class="item-container">
<div class="{itemCls}"></div>
<span class="item-title">{title}</span>
</div>
现在,我已将 selectedItemCls 配置设置为值 item-selected,并在我的样式表中设置了相应的样式。当我单击数据视图中的项目时,它工作正常,并且选定的项目被突出显示。但我希望默认选择我的数据视图的第一项(因此已经添加了item-selected 类)。
我尝试在其 afterrender 事件中使用 dataview 组件,但我无法将活动类添加到第一项。
更新
请注意,我想保持类的切换行为,因此当呈现数据视图并且用户单击其他项目时,第一个项目(tab-selected 以编程方式添加)不再突出显示并且单击的项目获得tab-selected类。
到目前为止,我尝试在afterrender 事件中调用dataview.selModel.select(dataview.Store.getAt(0)),令人惊讶的是,它在调试时工作(在afterrender 事件中中断执行并逐步进行)但如果我尝试它会抛出Uncaught TypeError: Cannot call method 'addCls' of null它没有打开 DevTools。我相信这是由于事件冒泡,因为select() 也会在内部触发itemclick 和selectionchange 事件(不过我可能错了)。
附:使用 Chrome 进行调试。
如何做到这一点?
【问题讨论】: