我在 SenchaTouch 2.3 的 hbox 布局中遇到了一个奇怪的问题。该视图扩展了 Ext.Container。这是配置:
config: {
layout: "hbox",
style: "padding-bottom: 20px;",
items: [
{
xtype: "panel",
id: "stmc_info_buttons",
cls: ["stmc_info_buttons", "shadow"],
width: 350,
styleHtmlContent: true,
scrollable: true,
items: [{
xtype: "list",
grouped: false,
top: 0,
left: 0,
right: 0,
bottom: 0,
indexBar: false,
cls: "stmc_info",
id: "stmc_info_btn_entries",
variableHeights: false,
itemHeight: 35,
store: {
id: "stmc_info_store",
model: "Stbg.model.Info",
proxy: {
type: "ajax",
url: "resources/json/info.json",
reader: {
type: "json",
rootProperty: "info"
}
},
autoLoad: true
},
itemTpl: new Ext.XTemplate(
'<tpl switch="typ">',
'<tpl case="rubrik">',
'<div class="contact2 {csscls}">{titel}</div>',
'<tpl default>',
'<div class="contact2 stmc_info_entry">{titel}</div>',
'</tpl>'
)
}]
},
{
xtype: "panel",
layout: 'fit',
flex: 1,
id: "stmc_info_text",
scrollable: {
direction: 'vertical',
directionLock: true
},
cls: ["stmc_info_text", "shadow"]
}
]
}
如果我点击左侧的条目,右侧的面板会显示相应的内容。一切正常。如果内容比视口“长”,它应该是可滚动的。但是,如果我尝试将面板滚动到底部并从平板电脑上松开手指,则视图会“跳”回顶部。所以我无法到达内容的底部。错误在哪里?
更改面板数据的方法执行以下操作:
loadText: function (loadUrl, target) {
Ext.Ajax.request({
url: loadUrl,
success: function (response, opts) {
var panel = Ext.getCmp(target);
if (panel != null) {
panel.setHtml(response.responseText);
}
},
failure: function (response, opts) {
...
}
});
}
附加信息:正在加载的内容是纯 HTML。该问题仅出现在 Android 平板电脑上。当我在 Chrome 中测试应用程序时,滚动按预期工作。