键盘弹起后页面整体上推
主要问题:
输入框定位在页面底部,页面(包括自定义的导航栏)在键盘弹起后整体上推,;输入框本身就位于页面顶端,则不会造成上推事件。
解决:
1、adjustPosition属性设置为fasle,键盘弹起时,不上推页面
2、根据键盘高度设置输入框的位置,实现键盘顶起输入框的效果
具体代码如下
<Textarea style={{bottom: height + 'px'}} autoFocus={true} value={value} maxlength={-1} showConfirmBar={false} placeholder='请输入留言...' onInput={(e) => this.changeContent(e)} adjustPosition={false} onFocus={(e) => this.getHeight(e)} onBlur={this.resetHeight} ></Textarea> changeContent = (e) =>{ this.setState({ value: e.detail.value }) } getHeight = (e) => { // 键盘弹起时 this.setState({ //在编辑器中e.detail中只有value,真机上才有height height: e?.detail?.height == 0 ? 0 : e.detail.height }) } resetHeight = () => { // 键盘收起时 this.setState({ height: 0 }) }
浙公网安备 33010602011771号