问题描述
在uniapp中使用uni.switchTab无法传参
uni.switchTab({
url:`/pages/report/report?Id=${query}`
})
原因分析
uniapp官方定义uni.switchTab无法传参
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
url | String | 是 | 需要跳转的 tabBar 页面的路径(需在 pages.json 的 tabBar 字段定义的页面),路径后不能带参数 |
success | Function | 否 | 接口调用成功的回调函数 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
解决方案
使用uni.relaunch可以跳转并携带参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
url | String | 是 | 需要跳转的应用内页面路径 , 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 ‘path?key=value&key2=value2’,如果跳转的页面路径是 tabBar 页面则不能带参数 |
success | Function | 否 | 接口调用成功的回调函数 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
uni.redirectTo({
url:`/pages/report/report?Id=${query}`
})
补充:解决uni.switchTab()跳转不刷新
uni.switchTab():不能携带参数,使用uni.switchTab()跳转不会刷新页面
uni.reLaunch:跳转页面会刷新页面
解决办法:
uni.reLaunch({
url: '/pages/mine/mine',
success: function(e) {
var page = getCurrentPages()[0];
if (page == undefined || page == null) return;
page.onLoad();
}
})
总结
到此这篇关于uniapp中uni.switchTab无法传参的解决办法的文章就介绍到这了,更多相关uniapp uni.switchTab无法传参内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!