scroll-view组件获取scrollLeft失效
- Dominant language
- JavaScript
- Stars
- 41.6k
- Forks
- 3.7k
- Avg merge
- 7h 6m
- Merged PRs (30d)
- 6
Description
**问题描述**
app端-纯nvue项目
需要做到当前项居中的效果(例:https://segmentfault.com/a/1190000021318472)
所以每次点击时需要获取scroll-view的left值,之前在小程序端可以正常获取,但是现在新项目在app端获取的值一直为0
导致当点击到后面几个item时,scroll-view组件会后移非常多 在后面出现非常多的留白
ps: 也试过`const dom = uni.requireNativePlugin('dom');`的方式获取节点信息,获取到的值同样为0
**复现步骤**
```html
{{item.title}}
```
```js
this.getElementData('#tabbar', (info)=> {
let list = info
// 这里list获取到的left始终为0
console.log(list)
this.getElementData(`#tab_item_${this.currentIndex}`, (el)=> {
// 活动item的宽度
// let tabWidth = el.width;
// // 活动item的左边到tabs组件左边的距离,用item的left减去tabs的left
// let offsetLeft = el.left - list.left;
// // 将活动的tabs-item移动到屏幕正中间,实际上是对scroll-view的移动
// let scrollLeft = offsetLeft - (list.width - tabWidth) / 2;
// this.tabsScrollLeft = scrollLeft < 0 ? 0 : scrollLeft;
})
})
getElementData(el, callback){
uni.createSelectorQuery().in(this).selectAll(el).boundingClientRect().exec((data) => {
callback(data[0]);
});
}
```
**预期结果**
跟小程序一样正常获取到left值
**系统信息:**
- 发行平台: app
- 操作系统 ios 13.6
- HBuilderX版本 3.2.9
- 设备信息 iPhone11
**补充信息**
无法获取left值
Contributor guide
Assessment
This issue has not been assessed yet.