uniapp中uni.navigateBack返回后刷新页面数据

一、前言

在移动端中,数据列表中某项数据点击编辑,进入下一个页面编辑数据,保存后回退到数据列表页,此时需要刷新列表数据,否则显示的列表数据还是旧的。这种场景感觉很多地方都有出现,是需要详细说说方法,也就是uniappuni.navigateBack返回后刷新页面数据。

1.1、uni.navigateBack

二、方法

2.1、父页面设置钩子函数onBackPress

详细文档可点击【跳转】,适用于刷新多处数据

export default {
   
    onBackPress(options) {
   
        this.refreshData();
    },
    methods:{
   
        refreshData: function() {
   
            //加载数据
        }
    }
}

  • 13
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
uni.navigateBack()方法在uni-app用于返回上一页面。然而,有时候在刷新当前页面后,使用该方法无法返回上一页面。这个问题可以通过以下几种方法解决。 一种解决方法是使用原生的history对象来替代uni.navigateBack()方法。可以封装一个兼容uni-app API和原生JS的返回方法,如下所示: ```javascript const navigateBack = (params) => { const pages = getCurrentPages() if (pages.length === 1) { if (typeof params === 'number') { history.go(-params) } else { history.back() } } else { uni.navigateBack() } } ``` 这个方法会先判断当前页面的数量,如果只有一个页面,则使用原生的history对象进行返回操作;如果有多个页面,则使用uni.navigateBack()方法进行返回操作。这样可以解决刷新页面后无法返回的问题。\[3\] 另一种解决方法是在返回的方法进行替换。可以使用以下代码来判断是否可以返回上一页面,并进行相应的操作: ```javascript let canNavBack = getCurrentPages() if (canNavBack && canNavBack.length > 1) { uni.navigateBack() } else { history.back() } ``` 这段代码会先获取当前页面的数量,如果大于1,则使用uni.navigateBack()方法进行返回操作;如果等于1,则使用history.back()方法进行返回操作。这样也可以解决无法返回上一页面的问题。\[2\] 综上所述,以上两种方法都可以解决uni.navigateBack()无法返回上一页面的问题。你可以根据自己的需求选择其一种方法来解决该问题。 #### 引用[.reference_title] - *1* [uni-app使用uni.navigateBack()方法返回上一页面时,如果刷新当前页面则出现无法返回上一页面问题](https://blog.csdn.net/C_B_Y/article/details/125720619)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [uniapp刷新页面后使用uni.navigateBack()无法返回上个页面](https://blog.csdn.net/weixin_67434908/article/details/129204627)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [uniapp-H5页面刷新后返回失效,页面栈清空问题,navigateBack失效问题](https://blog.csdn.net/qq_43205326/article/details/125159266)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小马甲丫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值