收藏
回答

canvas和textarea在可滑动的页面中不会随页面上下滑动(仅真机)

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug textarea canvas 微信iOS客户端 7.0.6 2.8.1

当textarea和canvas处于一个页面内容高度大于屏幕高度的页面中时,它们不会随页面上下滑动而滑动,而是像使用了position: fixed一样钉死在页面固定位置,模拟器上无此问题,而真机上会有!!!!!!!!!!小程序的说明文档仅仅只说不能在scroll-view中使用这两个组件,但是可滑动的普通view里却也有问题存在。这个问题我发现已经有很多人提了,而且存在时间很长了,但是官方一直说不能复现,我再说一遍,模拟器里面没问题,但是真机有,你们要还说不能复现那就让小程序凉了吧。

最后一次编辑于  2019-08-28
回答关注问题邀请回答
收藏

5 个回答

  • 杨航
    杨航
    2019-08-28

    问题已找到,textarea和canvas不可以被overflow:auto或者overflow:scroll的view包裹,官方文档只说不能套进scroll-view而没说这一点,腾讯s b。

    2019-08-28
    赞同 2
    回复 1
    • 杨航
      杨航
      2019-08-28
      感谢上面的马斯洛大佬,准确的说是原生组件是监听页面滚动来重新渲染位置的,当最外层view和页面等高,滚动发生在view内部而非页面时,就会出现问题,希望官方文档能修改并讲清楚这一点。
      2019-08-28
      回复
  • undefined
    undefined
    2019-12-05

    我也遇到同样的问题,是这样解决的。我发现我的页面最外层 view 写了 height:100%; 改成 height:max-height;就可以随页面滚动了。

    2019-12-05
    赞同
    回复
  • 自我催眠
    自我催眠
    2019-11-14

    放弃治疗吧,我自定义了一个多行输入框组件

    https://blog.csdn.net/qiziyiming/article/details/103062932


    2019-11-14
    赞同
    回复
  • FinallyScholar
    FinallyScholar
    2019-08-28

    原生组件,改不了,你只能在滑动时控制显隐,找其他元素来替换显示

    2019-08-28
    赞同
    回复 2
    • 马斯洛
      马斯洛
      2019-08-28
      原生组件,不放在 scroll-view 里,在页面里也是可以滚动的。
      2019-08-28
      回复
    • 杨航
      杨航
      2019-08-28
      我找到原因了,不要在组件外面套overflow:auto的view中就好了,直接放进页面里没问题。
      2019-08-28
      回复
  • 马斯洛
    马斯洛
    2019-08-28

    scroll-view 确实不可以,但是你这个在页面中也不可以挺奇怪的,我的小程序的一个页面中同时有 canvas 和 textarea,但只要高度超出,是会滚动的。

    所以,你可以先建一个简单的 demo 再验证一下,然后对比找出问题所在,是不是其它样式或者组件影响的。

    对于这种非普遍问题,在这里可能没什么用,还得靠自己去处理。

    你想让官方人员处理,他们必须要你提供可以运行的代码段 复现,只提供个项目的页面名称、截图之类的,他们不会处理,也处理不了。

    2019-08-28
    赞同
    回复 12
    • 马斯洛
      马斯洛
      2019-08-28
      建个 demo 复现,如果能复现,就把这个复现 demo 给官方,这样才能处理。
      2019-08-28
      回复
    • 杨航
      杨航
      2019-08-28
      你真机也可以吗?我开发工具里是可以的但是真机不行。
      2019-08-28
      回复
    • 杨航
      杨航
      2019-08-28
      我之前也提过这个问题给过代码段,其他很多人也给提了这个问题很多次了,官方要么不回复要么就说不能复现,就是不肯拿真机试,服了。
      2019-08-28
      回复
    • 马斯洛
      马斯洛
      2019-08-28回复杨航

      嗯,我的是真机,ios android 都测试了的。你再从其它方面排查一下,看看是不是高度或者其它什么原因。  你在空白页面直接弄个指定高度的超长的 canvas 和 textarea 试下,是不是也能复现,如果能复现,就把这个给官方提过去。  也确认下是不是所有机型都能复现。

      这是个麻烦事。

      2019-08-28
      回复
    • 杨航
      杨航
      2019-08-28
      好的,谢谢,我再看看。
      2019-08-28
      回复
    查看更多(7)
登录 后发表内容
问题标签