最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

uniapp中uni.navigateBack返回后刷新頁面數(shù)據(jù)的實現(xiàn)

 更新時間:2023年11月29日 09:13:47   作者:老馬甲  
本文主要介紹了uniapp中uni.navigateBack返回后刷新頁面數(shù)據(jù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、前言

在移動端中,數(shù)據(jù)列表中某項數(shù)據(jù)點擊編輯,進入下一個頁面編輯數(shù)據(jù),保存后回退到數(shù)據(jù)列表頁,此時需要刷新列表數(shù)據(jù),否則顯示的列表數(shù)據(jù)還是舊的。這種場景感覺很多地方都有出現(xiàn),是需要詳細說說方法,也就是uniappuni.navigateBack返回后刷新頁面數(shù)據(jù)。

1.1、uni.navigateBack

二、方法

2.1、父頁面設(shè)置鉤子函數(shù)onBackPress

詳細文檔可點擊【跳轉(zhuǎn)】,適用于刷新多處數(shù)據(jù)

export default {
    onBackPress(options) {
        this.refreshData();
    },
    methods:{
        refreshData: function() {
            //加載數(shù)據(jù)
        }
    }
}

2.2、uni.$emit和uni.$on監(jiān)聽通知數(shù)據(jù)變更

2.2.1、子頁面

子頁面在需要返回上一頁面的地方寫入uni.navigateBack,然后在success回調(diào)中uni.$emit發(fā)送數(shù)據(jù)更新通知

uni.navigateBack({
    delta: 1, // 返回層數(shù),2則上上頁
    success() {
        uni.$emit('update',{msg:'頁面更新'})
    }
})

2.2.2、父頁面

父頁面在初始化時uni.$on監(jiān)聽數(shù)據(jù)更新,在回調(diào)函數(shù)中處理數(shù)據(jù)。在頁面銷毀時移除監(jiān)聽

export default {
    mounted() {
        uni.$on('update', function(data) {
            //觸發(fā)更新后
        })
    },
    //為了優(yōu)化代碼,可以加上移除事件,避免重復(fù)監(jiān)聽事件
    onUnload() {
        // 移除監(jiān)聽事件  
        uni.$off('update');
    }
}

2.3、onShow鉤子函數(shù)處理數(shù)據(jù)

2.3.1、子頁面

準備回退到上一頁之前,將上一頁的是否刷新參數(shù)值改為是的狀態(tài)

let pages = getCurrentPages();
let prevPage = pages[pages.length - 2]; // 上一個頁面
// 直接調(diào)用上一個頁面的setData()方法,把數(shù)據(jù)存到上一個頁面中去
prevPage.setData({
    isRefresh: 1 
})
// 再根據(jù)需求,確定返回上一頁面
uni.navigateBack({
    delta: 1
})

2.3.2、父頁面

在onShow鉤子函數(shù)中獲取判斷條件

export default{
	data() {
		return{
    		isRefresh:false
		}
	},
	onShow() {  
		// 如果是提交狀態(tài)返回isRefresh=1,才刷新頁面,從詳情過來無需刷新
		let pages = getCurrentPages();
		let currPage = pages[pages.length - 1];
		if(currPage.__data__.isRefresh) {
			// 重新獲取數(shù)據(jù)
			this.getData(true)//獲取列表數(shù)據(jù)
			// 每一次需要清除,否則會參數(shù)會緩存
        	currPage.__data__.isRefresh=false
		}
	}
}

2.4、注意

如果出現(xiàn)數(shù)據(jù)沒有更新,可以使用$forceUpdate或者先置空數(shù)據(jù)再賦值數(shù)據(jù),大概率是數(shù)據(jù)沒有響應(yīng)

最后

到此這篇關(guān)于uniapp中uni.navigateBack返回后刷新頁面數(shù)據(jù)的實現(xiàn)的文章就介紹到這了,更多相關(guān)uniapp uni.navigateBack返回刷新內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

祁连县| 文安县| 馆陶县| 大连市| 赞皇县| 惠来县| 蛟河市| 建湖县| 汝州市| 小金县| 洞口县| 兰坪| 博乐市| 仁布县| 普宁市| 仙游县| 连南| 佛坪县| 宁阳县| 方正县| 甘孜| 通州区| 平凉市| 乌鲁木齐市| 邢台市| 潞城市| 凤冈县| 浦东新区| 光山县| 长沙县| 顺义区| 泾源县| 襄城县| 绍兴县| 焦作市| 县级市| 陆河县| 湖北省| 兴山县| 隆安县| 肃南|