我在 Sencha 中使用 'togglefield' xtype 时遇到了一些问题。我已经使用不同的代码类型进行了大量测试,并将我的应用程序简化为几个容器。您可以看到我添加了两个切换字段 - 一个在第一个容器“视图 A”中,另一个在“视图 B”容器中。出于某种原因,第一个切换字段正确显示。但是,使用第二个切换字段时,动画无法正确显示。
当应用程序包含一个主容器和多个通过“animateActiveItem”访问的视图时,我注意到大型应用程序存在同样的问题。在初始容器中,togglefield 工作,但在第二个容器中,toggle 没有动画。
但是,如果我使用“setActiveItem”更改视图,则切换在两者中都能正常工作。我认为我缺少一些非常简单的东西,但不知道是什么。有任何想法吗?
我用来定义视图的代码如下:
Ext.define('MyApp.view.mainWindow', {
extend: 'Ext.Container',
config: {
id: 'mainWindow',
layout: {
type: 'card'
},
items: [
{
xtype: 'container',
id: 'viewA',
layout: {
type: 'vbox'
},
items: [
{
xtype: 'container',
html: 'CLICK THE BUTTON'
},
{
xtype: 'button',
text: 'MyButton',
handler: function () {
Ext.getCmp('mainWindow').animateActiveItem(Ext.getCmp('viewB'), {type: 'pop', direction: 'left'});
console.log("pressed");
}
},
{
xtype: 'togglefield',
label: 'Field'
}
]
},
{
xtype: 'container',
id: 'viewB',
items: [
{
xtype: 'togglefield',
name: 'toggleName',
label: 'My Toggle Field',
}
]
}
]
}
});