【发布时间】:2015-11-20 08:15:33
【问题描述】:
对于我的 Sencha Touch 列表之一,单击某个项目并不总是选择它。第一次单击列表将始终选择该项目,但是当您单击另一个项目后,它通常不会选择,直到您再次单击。在测试过程中,我一直非常小心不要在单击时移动光标。
列表中没有侦听器,另一个事件将查看所选项目。我添加了一个监听器来更好地测试这个,显示同样的事情。在被忽略的点击之后,选定的列表项也会保持选中状态。
我无法用 Fiddle 和其他列表重现这一点,每次单击都可以选择每个项目。
实际列表只有 2 个项目,但它们获得的数据比 80 像素的项目高度要多得多,其中一个几乎是 400 像素高。但是只显示很少的数据并没有帮助。
Ext.define('App.view.MyList',
{
extend: 'Ext.dataview.List',
xtype: 'mylist',
alias: 'widget.mylist',
config:
{
cls: 'oddEvenList',
store: 'myStore',
itemHeight: 80,
itemTpl: new Ext.XTemplate(
'<table width="100%">' +
'<tr>' +
'<td width="180px">' +
'User name:' +
'</td>' +
'<td width="180px">' +
'{UserName}' +
'</td>' +
'</tr>' +
'</table>')
}
});
.oddEvenList {
.x-list-item {
//background-color: #FFF !important;
border-bottom: 1px solid $base-grey-border !important;
&:nth-child(even) {
background-color: $light-grey;
}
&:nth-child(odd) {
background-color: #FFFFFF;
}
padding: 0, 7px, 0, 7px !important;
margin: 5px, 0, 5px, 0 !important;
}
.x-item-selected {
background: {
image: none !important;
color: #a6c060 !important;
}
}
}
【问题讨论】:
-
不是答案,但为什么你从
Ext.dataview.List扩展,而不是从Ext.dataview.DataView扩展?看到你的代码没有必要从(更重的列表)扩展。
标签: list extjs sencha-touch-2