感谢回复,HbuilderX版本是3.6.5, 刚刚又复现了一遍场景,出现了新的问题。
这是出问题的函数,具体说明:
一. 如下所示我没有使用in(...), 因为小程序端直接报错,其次没有使用in(..)的时候H5端符合预期结果,但是不使用in在微信小程序端什么都搜不到。
二. 如果加上 '.in(getCurrentInstance());', H5端也会出现问题:在boudingClientRect中的rects不是一个数组,只是一个对象,这个对象的width和height的整个视口的。
function updateTabWidth() {
const { dataList } = props;
if (dataList.length === 0) {return;}
const query = uni.createSelectorQuery();
query.selectAll('.tab-item')
.boundingClientRect((rects) => {
sliderList.value = rects;
setTimeout(() => {
sliderToIndex();
});
}).exec();
}
我不知道怎么给一个测试工程,我先给这个SFC(以txt形式,JS部分没多少,格式化后60多行)吧。
使用:只是为了模拟异步数据
<min-tab
:config="{ width: 30 }"
:defaultActive="2"
:dataList="dataList"
></min-tab>
const dataList = ref([]);
async function returnData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve({ data: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] });
});
});
}
async function setData() {
const { data } = await returnData();
dataList.value = data;
}
setData();
2 个回复
DCloud_UNI_WZF
HBuilderX 3.6.10 测试未复现该问题,请检查代码或提供测试工程
1***@qq.com (作者)
感谢回复,HbuilderX版本是3.6.5, 刚刚又复现了一遍场景,出现了新的问题。
这是出问题的函数,具体说明:
一. 如下所示我没有使用in(...), 因为小程序端直接报错,其次没有使用in(..)的时候H5端符合预期结果,但是不使用in在微信小程序端什么都搜不到。
二. 如果加上 '.in(getCurrentInstance());', H5端也会出现问题:在boudingClientRect中的rects不是一个数组,只是一个对象,这个对象的width和height的整个视口的。
我不知道怎么给一个测试工程,我先给这个SFC(以txt形式,JS部分没多少,格式化后60多行)吧。
使用:只是为了模拟异步数据