1. 在 input 标签中添加属性:adjust-position="{{false}}",禁用键盘d起时自动调整页面位置的功能,从而避免页面左移的情况。答颤
2. 使用 fixed 布局,将 input 放置在一个固定的位置,使其不受键盘d起的影响,从而避免页面布局发生变敏颂化。
3. 使用 scroll-view 嵌套,将 input 放置在 scroll-view 中,当键盘d起时,scroll-view 会自动滚动,从而避免页面左移的情况。
4. 在 app.json 中设置 window 属性的 softKeyboardBehavior 为 "none",禁用软键盘d起时自动调整页面位置的功能,从而避免页面左移的情况。
总之,以上是一些常见的解决小程序 input 获取焦点导致页面左移的方法。开发者可以根据具体情况选择合适的方法进行处理。
本文为实际工禅基哪作简记,粗陋小笔记一篇,仅供参考。小程序填写表单的过程中,手机键盘调起,默认情况,键盘顶部会紧贴着表单项。
如图所示:
当遇到这样的场景:
表单项输入的内容,作为关键字,向后台请求匹配数据列表。拿到数据后,在表单项下方展示列表数据,供用户点选。
就会出现问题:
展示在 input 下面的列表,会被键盘完全挡住贺码。
1、获取焦点时,使用 input 组件的 cursor-spacing 属性,设置键盘和 input 组件的间距。
2、失去焦点时,计算页面已经向上滚动的距离,加上列表项的锋冲高度,手动将整个页面向上推,防止处于页面底部的 input 失去焦点时、又掉回页面底部。影响用户体验。
手动将整个页面向上推的方式:
【注意】
wx.pageScrollTo 仅在 page 组件中有效,component 中无效!
1、在当前 input 获取焦点的时候,手动将页面向上、滚动 列表高度 那么大的距离。
2、如何滚动?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)