本机脚本:尽管有时可以单击并在StackLayout中的其他元素之上,但是StackLayout中的元素有时不呈现/不可见

好吧,这听起来很混乱,对我来说就是这样。

在模板中,我们使用ContentView元素。在控制器中,ComponentFactoryResolver用于获取动态组件并将其放入ContentView。

控制器:(简体)

@ViewChild('fieldtype',{static: false,read: ViewContainerRef }) viewContainerRef: ViewContainerRef;

loadComponent() {
    let fieldComponent;

    ... // Some logic to get fieldComponent

    const componentFactory = this.componentFactoryResolver.resolveComponentFactory(fieldComponent);
    this.viewContainerRef.createComponent(componentFactory);

}

和模板:

本机脚本:尽管有时可以单击并在StackLayout中的其他元素之上,但是StackLayout中的元素有时不呈现/不可见

大部分时间都是这样:

本机脚本:尽管有时可以单击并在StackLayout中的其他元素之上,但是StackLayout中的元素有时不呈现/不可见

但是,有时看起来像这样:

本机脚本:尽管有时可以单击并在StackLayout中的其他元素之上,但是StackLayout中的元素有时不呈现/不可见

当我检查XML时,它显示了控件的XML标记。当控件可见时,标记完全相同:

本机脚本:尽管有时可以单击并在StackLayout中的其他元素之上,但是StackLayout中的元素有时不呈现/不可见

真正使我感到奇怪的是,当我在文本“ test”的顶部和最后一条水平线之间单击时,会触发动态加载的组件中的(tab)事件。 (不会触发测试按钮的(tab)事件。)

这表明控件位于StackLayout中所有其他元素的顶部,但显示不正确。

有人会知道这是怎么可能的吗?我尝试了各种方法,例如玩超时来触发更改检测。或在触发ContentView load()事件后等待几秒钟,然后再解析动态组件。还有很多都没有成功...

困难的是,大多数情况下它都可以正常工作,但是这种奇怪行为的十分之一却出现了,我找不到与其他9次的不同之处。

我在这个问题上停留了一个多星期,并且我没有解决该问题的想法,我们将为您提供任何帮助!

pingkang 回答:本机脚本:尽管有时可以单击并在StackLayout中的其他元素之上,但是StackLayout中的元素有时不呈现/不可见

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3079725.html

大家都在问