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