1***@qq.com
1***@qq.com
  • 发布:2022-12-02 20:16
  • 更新:2022-12-03 11:00
  • 阅读:120

Vue3 setup

分类:uni-app
2022-12-02 20:16 负责人:无 分享
已邀请:
DCloud_UNI_WZF

DCloud_UNI_WZF

HBuilderX 3.6.10 测试未复现该问题,请检查代码或提供测试工程

1***@qq.com

1***@qq.com (作者)

感谢回复,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();

要回复问题请先登录注册