我有 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 进行调试。
如何做到这一点?