Sencha touch sencha touch无法读取属性';分离';由setActiveItem引起的空值

Sencha touch sencha touch无法读取属性';分离';由setActiveItem引起的空值,sencha-touch,Sencha Touch,我正在使用sencha touch开发应用程序,但在激活tapPanel上的选项卡时遇到问题 我正在通过下一个语句激活选项卡: tabpanel.setActiveItem('#idLogin'); 一切正常,选项卡实际上已激活,但稍后(因此不是直接在该语句之后)console.log中会出现错误。删除这段代码时,不会出现错误,因此我确信它与此语句有关。 错误: Uncaught TypeError: Cannot read property 'detach' of null 有没有人遇到过

我正在使用sencha touch开发应用程序,但在激活tapPanel上的选项卡时遇到问题 我正在通过下一个语句激活选项卡:

tabpanel.setActiveItem('#idLogin');
一切正常,选项卡实际上已激活,但稍后(因此不是直接在该语句之后)console.log中会出现错误。删除这段代码时,不会出现错误,因此我确信它与此语句有关。 错误:

Uncaught TypeError: Cannot read property 'detach' of null

有没有人遇到过这个问题,你能解决吗?

我在使用name=“id”的表单字段时遇到了相同的错误。首先,定义“以后”。使用sencha-touch-all-debug.js运行你的应用程序,找到抛出错误的语句

其次,看看来源。您将看到“detach”是sencha的意思,表示“从DOM中删除元素”:

这只在几个地方调用:直接删除元素时,或者由于视图导航或其他视图交换而更新内部包装时

在大多数情况下,受影响的元素都应用了动画,这意味着该错误是试图删除已设置动画的元素超出范围的副作用。解决方案看起来很老套,就是获取父容器的布局,抑制其动画,删除元素,然后重新应用动画,如这:

container.getLayout().setAnimation(false);
// item removal or view change here;
container.getLayout().setAnimation(true);
.setAnimation(false)然后返回到true对我很有效。在我使用的NavigationView上,在handleNavBack方法的内部弹出一个视图时,我经常看到这个错误。
container.getLayout().setAnimation(false);
// item removal or view change here;
container.getLayout().setAnimation(true);