我在Angular Material对话框组件中有一个表单。我的问题是,当输入字段获得焦点时,移动设备中的键盘开口会覆盖用户要写入的输入字段。
当键盘打开时,HTML的主体会以适当的空白边距出现,但是,由于其位置是固定的,因此不适用于对话框的包装器(cdk-overlay-container)。
我的想法: 1,从固定更改为绝对可以解决我的问题,但是由于我的主容器是一个巨大的滚动容器,因此只有在我以编程方式滚动到顶部时,这才是我真正不喜欢的。
2,如果我可以检测到键盘被打开,则可以向父容器添加一个类,但是,我不确定如何在不将事件附加到我们拥有的每个输入字段的情况下执行此操作,这很难看并且不必要地繁重(因为我必须发送事件来通知其他组件)。我还需要知道键盘的大小,我不确定这是不可能的。
此问题在Android和iOS上均会发生。