解决微信小程序input textarea输入框内容以及palceholder随页面滚动式跟着滚动,飘起来了。

bug 类型效果:
在这里插入图片描述
输入框内的文字跑了。

解决办法:

测试了网上的监听滚动事件,手动调用wx.hideKeyboard等方式,都不好使。

大概原因: 在页面出现滚动时,输入框跑了。 如果不是滚动页面,不能滚动,就不会出现。

刚开始整个外层标签是<view></view>, 换成<scroll-view></scroll-view> 再加个样式min-height:100vh; 就完美解决了。

原因可能和小程序原生对scroll-view内的input等滚动做了更好的优化,滚动式input及时失去焦点。

查询文档,另外看到两种解决办法:记录一下

这三种方法,未亲测。

https://developers.weixin.qq.com/community/develop/article/doc/000a00e1fd0790488e6a034f156813

1 页面可通过样式的滚动(overflow-y: auto)来写,但是不要用 -webkit-overflow-scrolling: touch;

2、页面用scroll-view,通过变量{sysScroll}来控制

view: 
<scroll-view scroll-y="{{sysScroll}}"  scroll-top="{{scrollTop}}" class="scroll-hei-2 bg-def">
    <form >
      <input bindfocus="onfocus" bindblur="onblur" />
    </form>
</scroll-view>

js: 
  onfocus: function() {
    this.setData({sysScroll: false})
  },
  onblur: function (e, param, inst) {
    this.setData({sysScroll: true})
  }

3、试一下这个属性 always-embed = true

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值