收藏
回答

列表渲染的组件有滤镜时,滚动式控件消失, 停止滚动才会出现

问题模块
API和组件

列表渲染的组件有滤镜时,滚动时控件消失, 停止滚动才会出现. 比如做一个多页tableView, 当row的css中有filter属性时, 滚动时row就会消失, 停止滚动时会出现, 去掉filter这个属性后, 一切正常.请求解答, 目前只能去掉处理.

最后一次编辑于  2017-11-14
回答关注问题邀请回答
收藏

5 个回答

  • 微信技术专员 - Rex
    微信技术专员 - Rex
    2017-11-15

    这个是webview的回收机制导致,filter属性比较耗性能,在离屏时会被回收,快速滚动时,没来得及渲染出来

    2017-11-15
    赞同
    回复
  • 微信技术专员 - Rex
    微信技术专员 - Rex
    2017-11-14

    应该是webview内核的渲染问题。麻烦提供下复现代码,以及机型

    2017-11-14
    赞同
    回复
  • 彦明
    彦明
    2017-11-16

    嗯, 那这种需求的实现方案是不是应该避免, 还是说有其他的解决方案?

    2017-11-16
    赞同
    回复
  • 彦明
    彦明
    2017-11-15

    机型: iPhone估计所有机型都有,iPhone6, 6s, X都出现过

    2017-11-15
    赞同
    回复
  • 彦明
    彦明
    2017-11-15

    写个伪代码吧,单独也剥离不出来:

    <view class='{{row}}' wx:for='{{rowListArray}}' style='filter: grayscale({{(item.shouldGray == 1) ? "100%" : "0%"}}'>

        <其他子控件></子控件>

    </view>

    有一页或者说少量row的时候, 滚动基本正常, 过快滚动的时候会有部分row消失, 不明显,当2页或者说row多了之后,滚动就会大面积的row消失, 停止滚动后才会出现, 而且也不是立即出现

    2017-11-15
    赞同
    回复