uniapp返回上一页接口数据更新了,页面未更新

注意:不是组件套组件可以不使用setTimeout延时 

返回上一页一般会走onshow,但是接口更新了页面未更新 

onShow(() => {
    // 切换城市后重新调用数据
    if (areaId.value) {
        const timer = setTimeout(async () => {
            timer && clearTimeout(timer);
            loadRecommendList(); //请求数据的方法
        }, 150); //解决多次切换数据为空问题
    }
});

 

切换城市后页面显示的还是旧数据 

uniapp返回上一页接口数据更新了,页面未更新_第1张图片

使用watchEffect实时监听 areaId.value的变化,在城市切换后重新调用数据接口

watchEffect(() => {
    // 切换城市后重新调用数据
    if (areaId.value) {
        const timer = setTimeout(async () => {
            timer && clearTimeout(timer);
            loadRecommendList(areaId.value); //请求数据的方法
        }, 150); //解决多次切换数据为空问题
    }
});

正确的数据

uniapp返回上一页接口数据更新了,页面未更新_第2张图片 

 

你可能感兴趣的:(uni-app)