收藏
回答

安卓兼容问题,scroll-view上拉导致input输入框上移

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 Bug 微信安卓客户端 7.0.14 2.11.0

代码片段:https://developers.weixin.qq.com/s/9SbNDrmp77ha

scroll-view没有上拉时是正常的

上拉一部分时,input的输入位置上移的,但是实际input好像没有上移,input的灰色背景没有上来

再往上拉,input输入位置又继续往上移了

ios系统没有出现这个问题...


最后一次编辑于  2020-05-18
回答关注问题邀请回答
收藏

14 个回答

  • 瑞秋尔。
    瑞秋尔。
    2022-07-13

    不要给scroll-view 指定height=100vh; 而是设置height=95vh;试试.我成功解决了安卓上的问题.

    2022-07-13
    有用 4
    回复 1
    • Elvin
      Elvin
      06-24
      99.9vh完美解决
      06-24
      1
      回复
  • Murphy
    Murphy
    2020-05-19

    录屏如下:

    https://res.darryring.com/weixin/temp/SVID_20200519_173326_1_cps.mp4

    2020-05-19
    有用 1
    回复 3
  • he
    he
    2022-01-22

    终于看到一样的问题了 ios没问题 就安卓有这个问题

    2022-01-22
    有用
    回复
  • @
    @
    2021-04-20

    ??演示bug

    2021-04-20
    有用
    回复
  • Hey,Jude!
    Hey,Jude!
    2020-12-10

    看完了所有有关的帖子,我怀疑是跟设置css height后input聚焦不能获取到准确位置的问题,我scroll-view组件的height去掉,就没问题了。可是scroll-view不能去掉高度。。。

    2020-12-10
    有用
    回复 3
    • Murphy
      Murphy
      2021-02-26
      -_-!
      2021-02-26
      回复
    • Turalyon
      Turalyon
      2022-07-20回复Murphy
      目前scroll-view设置固定的像素值没有这个问题,猜测底层对scroll-view里面input焦点定位时只计算了固定高度的值,但可以用css calc()函数设置自适应的scroll-view和height,比如 height: calc(100% - 1px);亲测有效。
      2022-07-20
      2
      回复
    • 天下
      天下
      2023-04-15
      这个方法有效
      2023-04-15
      回复
  • 2020-09-02

    这个问题现在好了吗

    2020-09-02
    有用
    回复 1
    • Murphy
      Murphy
      2020-09-03
      木有呢 -.-
      2020-09-03
      回复
  • 世界尽头
    世界尽头
    2020-07-23

    目前仍然有这个问题,蛋疼。

    2020-07-23
    有用
    回复
  • way
    way
    2020-07-15

    需要设置一个状态控制scroll-view是否允许滑动,当Input获取焦点是,将滑动禁止,当Input失去焦点时,允许滑动,

    这里是我的的详细讲解,→https://www.jianshu.com/p/413858788517

    wxml文件中
    <scroll-view scroll-y="{{isScroll}}" scroll-into-view="{{intoView}}"  scroll-with-animation="true" style="height: 100vh;">
        <input confirm-type="done"  type="digit"  bindfocus="bindfocus" bindblur="closeblur"  />
    </scroll-view>
    JS文件中
    // 获取焦点事件
    bindfocus(e){
        this.setData({  
          isScroll:false
        })      
    },
    // 失去焦点事件
    closeblur(e) {
        this.setData({
          isScroll:true
        })
    }
    
    2020-07-15
    有用
    回复 5
    • Murphy
      Murphy
      2020-07-17
      用你的方法试了一下。固定在底部的输入框弹不上来
      2020-07-17
      回复
    • ZanyZephy
      ZanyZephy
      2020-07-24
      没有用
      2020-07-24
      回复
    • Hey,Jude!
      Hey,Jude!
      2020-12-10
      现在好像解决不了,我怀疑是跟设置了height有关,如果不设置height就没bug
      2020-12-10
      回复
    • 哪里都是T
      哪里都是T
      2023-02-20
      获取焦点时,文本还是会有一个上移过程,之后再次跳回原来文本框中。
      2023-02-20
      回复
    • 哪里都是T
      哪里都是T
      2023-02-20
      这里得到一个解决方案。
      只要不给scroll-view设置整屏高度,就可以避免这个bug,或者使用height: calc(100vh - 1px);也可以避免这个问题
      第二个方法 我试了有效
      2023-02-20
      回复
  • Ben
    Ben
    2020-07-14

    我这边也是遇到这样的问题,一个长表单好多个input放在scroll-view里面,要下拉滚动条去填写下面的input的时候安卓机上就会出现那情况,去年都没有,可能是微信小程序最近的版本的bug

    2020-07-14
    有用
    回复 1
    • Murphy
      Murphy
      2020-07-17
      你可以试试上面这位兄die的解决方法
      2020-07-17
      回复
  • 佳佳
    佳佳
    2020-06-24

    未使用scroll-view,问题已解决

    2020-06-24
    有用
    回复

正在加载...

登录 后发表内容
问题标签