- 需求的场景描述(希望解决的问题)
有两个scroll-view,左边scroll-view是菜品类目,右边scroll-view是菜单,右边scroll-view滑动的时候,需要实时计算当前滑动到哪个菜品,然后对应的滑动左侧类目,并选中当前所在的类目,实际情况是通过查看日志发现类目计算正确setData也都正常,从js执行中来看是很正常的,但是界面的更新就很慢,滑动稍微快点就会造成虽然类目计算并设值正确了,但是渲染跟不上,右侧菜单已停止滑动,过了一两秒甚至更长时间左侧类目才会更新,给人的感觉就是会乱跳
ps:苹果手机正常,android手机会出现这种问题
- 希望提供的能力
针对这种情况,官方有什么建议或其它解决方案吗
感觉 这种交互 就不合理
需求就是左右两侧要联动,有其它更好的方案吗
不可以左侧点击后右侧显示? 非要滚动么。他那个检测滚动高度那个方法 在开发者工具上不太行。在手机上正常。
可以的话就没这么多问题了
谁提的交互。你跟他说明啊,不能一直卡在这个地方吧?降级方案 都没有?
有代码片段吗,或许可以改造改造的
这是右边scroll-view的滑动回调
for
(
var
i = 0; i <
this
.data.goods.length; i++) {
this
.count++;
console.log(
"计算次数:"
+
this
.count);
if
(scrollTop >=
this
.data.goods[i].top && scrollTop <
this
.data.goods[i].bottom) {
if
(
this
.data.selectedMenu != i) {
this
.setData({
selectedMenu: i,
toView:
''
,
scrollTop: i *
this
.menuHeight,
});
console.log(
"currentMenu:"
+
this
.data.selectedMenu);
}
break
;
}
}
这是左侧scroll-view
<
scroll-view
scroll-y
=
"true"
style
=
"height: 940rpx;"
scroll-with-animation
=
"true"
scroll-top
=
"{{scrollTop}}"
>
<
block
wx:for
=
"{{menus}}"
wx:key
=
"unique"
>
<
view
class
=
'menu-item'
style
=
'background:{{selectedMenu == index ? "#ffffff" : "#f3f5f7"}}'
bindtap
=
"selectMenu"
data-item-index
=
"{{index}}"
>
<
view
class
=
"text"
>
{{item}}
</
view
>
<!-- <view wx:if="{{item.count > 0}}" class='num'>{{item.count}}</view> -->
</
view
>
</
block
>
</
block
>
</
scroll-view
>
请问这问题,最终怎么解决呢