问题:

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即可。

<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(loan) {
    let data = {
        title: '用户详情',
        url: '../user/user-query' // 注意这个地址是a页面跳转到b(当前页)的相对地址
    }
    return this.contract(this.sonUrl, data)
}
Logo

前往低代码交流专区

更多推荐