taro3-virtual-list icon indicating copy to clipboard operation
taro3-virtual-list copied to clipboard

是否支持滚动定位到某元素位置?

Open XuChunxiao opened this issue 3 years ago • 6 comments

进入列表需要定位到某元素位置,是否有API支持index值滚动定位?

XuChunxiao avatar Aug 23 '21 07:08 XuChunxiao

进入列表需要定位到某元素位置,是否有API支持index值滚动定位?

暂不支持,非常好的建议,最近有点忙,后期找时间会加入该需求🤝

tingyuxuan2302 avatar Aug 23 '21 10:08 tingyuxuan2302

同求,支持

GrapevineLin avatar Sep 23 '21 03:09 GrapevineLin

+1

mdddj avatar Oct 03 '21 15:10 mdddj

+1 哈哈~

我还试了通过scrollIntoView 属性 定位到指定的item,但是发现超过10 就会被分割成一个page,然而设置的item组件容器的id 在scroll-view组件中必须是根容器才能识别 外层包裹page后 没法跟踪 估计没法通过scrollInto的方式定位 得换一种方式定位当前page是第几个 加上前面的page页高度 在设置scrollTop的value了

wiscgazf avatar Dec 01 '21 05:12 wiscgazf

入侵比较少,方法比较脏,需要约定,但是最终能勉强实现效果。

    this.props.refs.current = {
      scrollTo: (i) => {
        this.setState({
          scrollTop: i == 0 ? i + Math.random() : i
        })
      },
      scrollToIndex: (index) => {
        const { segmentNum } = this.props
        const pageIndex = 0 ^ index / segmentNum
        this.setState({
          scrollIntoView: `wrap_${pageIndex}`
        })
        setTimeout(() => {
          this.setState({
            scrollIntoView: `item_${index}`
          })
        }, 10)
      }
    }

比较好的方法就是 查询高度的时候顺便查询子元素高度制作成 Map 。

17 avatar Aug 16 '22 10:08 17

同求

syx112233 avatar Feb 18 '24 04:02 syx112233