列表渲染的组件有滤镜时,滚动式控件消失, 停止滚动才会出现
发布于 5 年前 作者 junhe 1227 次浏览 来自 问答

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

5 回复

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

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

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

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

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

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

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

</view>

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

回到顶部