我有一个 Ionic 4/Angular
应用程序,其中有一个组件显示在 Modal 中(这可能对这个问题没有影响)
当我构建 (Cordova
) 并在 Windows 平板电脑上运行时,显示软键盘时没有自动调整应用程序大小(我现在已经接受了)。
每当我有一个将显示此键盘的输入时,我需要手动调整内容才能让输入显示在键盘上方。
当我的输入获得焦点时,我正在尝试调整 IonContent
的高度。
例如我有以下...
public async onTextFocus(ev: any): Promise<void> {
try {
let i = 0;
let el = await this.content.getScrollElement();
let style = el.style;
el.setAttribute('height', '50%');
style = el.style;
let j = 0;
} catch (error) {
this.logger.error(`MyComponent.onTextFocus: ${error}`);
}
}
所以我试图将内容设置为 50%
,但是当我执行上述操作时没有任何反应。此外,当我在调用 el.setAttribute('height', '50%');
后重新检查样式时,高度仍未设置(它只是一个空字符串)
使用 devtool,我尝试调整我能找到的所有东西的高度。唯一可行的是如果我将它设置在父组件上(但不知道如何在运行时执行此操作)。
我怎样才能调整高度(这样我就可以在 onBlur 中重新设置),这样我就可以看到我的输入元素了?
最佳答案
通过反复试验,至少找到了一种方法..
可能有更好的方法,但一种可行的方法很简单..
let el = await this.content.getScrollElement();
el.style['height'] = '50%';
this.content.scrollToBottom();
似乎工作正常
关于javascript - 如何在运行时调整 Ionic 4 IonContent 的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59315683/