我不确定任何人都能提供帮助,因为我遇到了Genero的问题,我对此并不欢迎,但是我会接受大家可能会遇到的任何一般性想法。
我有一个Genero网络应用程序,该应用程序显示Angular应用程序的网络视图,而我遇到的问题是,当该视图(基于Chrome v72)获得焦点以允许用户进行查看时,它不会在输入下滚动看看他在打什么。
在浏览器中加载页面效果很好,我已经在也可以运行的Android Studio Webview中尝试过了。
所以我不知道是Genero本身引起了问题,还是可能是它呈现视图,某种不同的浏览器配置等某种特定方式。
欢迎您提出所有想法,如果您遇到此类问题,无论遇到什么情况,我都会尝试一切,并且我希望避免在输入下创建一些空格来创建空格并手动滚动焦点
答案 0 :(得分:1)
确保您使用的是INPUT语句,而不是与WEBCOMPONENT一起使用DISPLAY。据报道是使用Android https://4js.com/support/issue/?id=GMA-1319,但是相同的主体可以应用iOS,GBC,GDC
否则,请与您当地的4Js支持联系人联系(假设您正在维护中)。过去,在某些情况下https://4js.com/support/issue/?id=GMA-920已经在该区域完成工作,因此可能需要对该区域进行一些改进。
PS关于您的开头段落,Genero 4Js提供付费支持模式。矛盾的是,您在这里不会看到很多4J Genero问题,因为应该由您的本地支持联系人和2.我们的开发人员论坛回答。然后,这在使用诸如“堆栈溢出”帖子数量之类的语言流行度度量中不利于我们。
答案 1 :(得分:0)
正在发生的事情是,您的div高度无法适应虚拟键盘。
我建议在构造函数中执行以下操作:
const $resizeEvent = fromEvent(window, 'resize')
.map(() => {
return window.innerHeight;
})
.debounceTime(20).subscribe(data => {
this.overflowHeight = `${data}px`;
});
此操作将检测到调整大小,当键盘显示时它将触发。 然后,将高度更改为div的新高度。 当它关闭时,它将再次触发并再次使其恢复正常大小。
在您的html中:
<div [ngStyle]="'height': overflowHeight, 'overflow': 'auto'}" [scrollTop]="scrollHeight"></div>
抬头(如果使用子视图),请确保检查包围了多少像素并确定高度-像素。
每个输入都必须具有唯一的ID:
<input id={{uniqueId}} (focus)="scrollTo(uniqueId) (scroll)="setScrollHeigth($event)" />
然后您做
:private scrollTo(_index: any) {
if (window.screen.width === 360) {
height = document.getElementById(_index).offsetTop;
if (height > 0) { this.scrollHeight = height; }
else if (this.scrollHeigthElm > 0) { this.scrollHeight = 0; }
}
}
private setScrollHeigth(_event: any) {
this.scrollHeigthElm = _event.srcElement.scrollTop;
}
此操作是检查滚动是否高于零然后将其移动。并在滚动条为0时重置它。
答案 2 :(得分:0)
好吧,这似乎更像是Genero的问题,因为它处理Web视图的方式是将虚拟键盘放在Web内容上而不是内部。我们把它带到了他们的论坛上,他们正在调查它。
答案 3 :(得分:0)
这是一个纯粹的Genero问题,据我所知,此问题已得到解决。