在微信小程序中,如果输入框被键盘挡住了,可以通过调整页面滚动来使输入框上移。
Page({ onPageScroll: function(e) { this.setData({ scrollTop: e.scrollTop }); } });
定义了一个 onPageScroll
函数,用于监听页面滚动事件。在滚动事件触发时,将滚动的距离 scrollTop
更新到页面数据的 scrollTop
属性中。
然后,在对应的 WXML 文件中,使用 fixed
布局和动态的 style
属性来实现输入框的上移:
0 ? 'calc(100vh + ' + scrollTop + 'px)' : '100vh'}};">
在上面的代码中,通过设置外层
的高度来撑开页面内容区域。在输入框的 input
组件上,使用了一个 placeholder
属性来示意一个输入框。
通过 style
属性动态计算外层
的高度,使得当滚动距离 scrollTop
大于 0 时,将输入框上移 scrollTop
的距离,以露出输入框。
这样,当用户点击输入框进行输入时,如果键盘挡住了输入框,页面将自动上移,使输入框可见。同时当用户滚动页面或收起键盘时,页面将恢复正常显示。
上一篇:微信小程序之复制功能