Я использовал div contentEditable внутри веб-просмотра для некоторых функций редактора в одном из моих приложений. HTML-код работает нормально и реагирует на действия, связанные с отображением и скрытием клавиатуры, в моем браузере Android Chrome, но когда я попробовал тот же HTML-код с веб-представлением в реагирующем, он не реагирует на то, что клавиатура и контент прячутся за клавиатурой.
Я попытался прокрутить его до конца div и автоматически увеличить его высоту в соответствии с содержимым, но ничего не работает.
импорт React, {Component} из'act ';
import {View, WebView} из «act-native »;
class webviewEditor расширяет Компонент {
render() {
return (
<View style={{flex:1}}>
<WebView
source={{
html: `
< head >
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;" />
<style type="text/css">
html, body {height: 100%;}
body {
margin: 0;
}
#wrap {
height: 100%;
width: 100%;
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
}
#editor {
padding: 10px;
}
</style>
</head>
<body>
<div id="wrap">
<div id="editor" contenteditable="true">
</div>
</div></body>
`}}
ref={web => { this.webview = web }}
style={{ flex: 1 }}
scalesPageToFit={false}
scrollEnabled={false}
javaScriptEnabled={true}
automaticallyAdjustContentInsets={false}
/>
</View>
);
}
}
Я ожидаю, что в результате веб-просмотра будет прокручиваться к приведенной выше клавиатуре, как в браузере, но не в приложении внутри веб-просмотра.