ColorUI-UniApp 導航欄返回上一頁按鈕設置自定義的頁面


問題:

ColorUI-UniApp 導航欄返回只能返回上一頁,如何設置自定義的頁面?

解析:

1.找到colorUi下的導航組件 cu-custom.vue

2.定義一個自定義導航的url屬性

props: {
    // 定義一個導航url屬性,如果有這個屬性就使用這個跳轉url
    url: {
        type: String,
        default: ''
    }
},

3. 修改跳轉方法

BackPage() {
    if (this.url) {
        uni.redirectTo({url: this.url})
    } else {
        if (getCurrentPages().length < 2 && 'undefined' !== typeof __wxConfig) {
            let url = '/' + __wxConfig.pages[0]
            return uni.redirectTo({
                url
            })
        }
        uni.navigateBack({
            delta: 1
        });
    }
}

4. 如何傳url值呢?

比如從a頁面跳轉到b頁面,然后在從b跳回c頁面,最后從c跳轉到b頁面。如果不設置自定義url屬性,點擊c頁面的返回直接跳到a頁面了,為了解決這個問題在從b跳轉到c頁面的時候把b頁面的相對路徑傳給c頁面作為c頁面跳轉回到b頁面的url即可。

// b頁面跳轉處
<navigator class="cu-item" navigateTo v-for="(user, index) in userData" :key="index" hover-class="none" 
			:url="jump(user)" open-type="redirect"></navigator >

// 跳轉頁面
jump: function(user) {
    let data = {
        title: '用戶詳情',
        user: user,
        url: '../user/user-query' // 注意這個地址是a頁面跳轉到b(當前頁)的相對地址
    }
    return this.contract(this.sonUrl, data) // 返回一個拼接好的地址
}
// c頁面詳情 注意這個url就是要返回的頁面的地址,就是上面的'../user/user-query'
<cu-custom :isBack="true" :url="url">
	<block slot="backText">返回</block>
	<block slot="content">{{ title }}</block>
</cu-custom>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM