diff --git a/pages/API/navigator/navigator.test.js b/pages/API/navigator/navigator.test.js
index fec3fec344a3a02382b3c34aa6431bfb11ae98da..248c527dd22f2434ae7e2694f002ba401979c7e8 100644
--- a/pages/API/navigator/navigator.test.js
+++ b/pages/API/navigator/navigator.test.js
@@ -1,5 +1,7 @@
jest.setTimeout(40000)
const CURRENT_PAGE_PATH = '/pages/API/navigator/navigator'
+const CHILD1_PAGE_PATH = '/pages/API/navigator/new-page/new-page-1'
+const CHILD2_PAGE_PATH = '/pages/API/navigator/new-page/new-page-2'
describe('navigator', () => {
let page
@@ -102,6 +104,20 @@ describe('navigator', () => {
expect(lifeCycleNum).toBe(2)
})
+ it('navigateBackWithDelta2', async () => {
+ await page.callMethod('setLifeCycleNum', 0)
+ await program.navigateTo(CHILD2_PAGE_PATH)
+ await page.waitFor(500)
+ page = await program.navigateTo(CHILD1_PAGE_PATH)
+ await page.waitFor(500)
+ await page.callMethod('navigateBackWithDelta2')
+ await page.waitFor(500)
+ page = await program.currentPage()
+ expect(`/${page.path}`).toBe(CURRENT_PAGE_PATH)
+ lifeCycleNum = await page.callMethod('getLifeCycleNum')
+ expect(lifeCycleNum).toBe(10)
+ })
+
it('navigateBackWithDelta100', async () => {
page = await program.reLaunch(CURRENT_PAGE_PATH)
await page.callMethod('setLifeCycleNum', 0)
diff --git a/pages/API/navigator/navigator.uvue b/pages/API/navigator/navigator.uvue
index 3a2125adde0e74a9585fe7dd18ce6010abd11ef1..82622fe3a6fcef3d3e0e6a2d165f23b0647a7662 100644
--- a/pages/API/navigator/navigator.uvue
+++ b/pages/API/navigator/navigator.uvue
@@ -1,7 +1,7 @@
-
+
onLoad触发时间戳:
{{ onLoadTime }}
@@ -37,6 +37,9 @@
+
@@ -128,6 +131,10 @@ export default {
},
fail(error) {
console.log('navigateTo fail', error.errMsg)
+ uni.showToast({
+ title: error.errMsg,
+ icon: 'none',
+ })
// 自动化测试
setLifeCycleNum(state.lifeCycleNum + 1)
},
diff --git a/pages/API/navigator/new-page/new-page-1.uvue b/pages/API/navigator/new-page/new-page-1.uvue
index c48c3ef8a959ab22c0a103bd7e2ddf01d3bfa1b9..c936588e300db91e8274cef5ee90d9f2a1f062d4 100644
--- a/pages/API/navigator/new-page/new-page-1.uvue
+++ b/pages/API/navigator/new-page/new-page-1.uvue
@@ -3,6 +3,9 @@
onLoad 接收到参数
data: {{ data }}
+
@@ -24,6 +27,17 @@ export default {
getLifeCycleNum(): number {
return state.lifeCycleNum
},
+ navigateBackWithDelta2() {
+ uni.navigateBack({
+ delta: 2,
+ success() {
+ console.log('回退上上层页面成功')
+ },
+ fail(error) {
+ console.warn(`回退上上层页面失败: ${error.errMsg}`)
+ },
+ })
+ },
},
}
diff --git a/pages/API/navigator/new-page/new-page-2.test.js b/pages/API/navigator/new-page/new-page-2.test.js
index da4339ec14fada49a468aad22220c58bf6b334d9..45cff1a3d6346d18dcda066c4dd9c027eed0c832 100644
--- a/pages/API/navigator/new-page/new-page-2.test.js
+++ b/pages/API/navigator/new-page/new-page-2.test.js
@@ -37,7 +37,7 @@ describe('page-lifecycle', () => {
})
// TODO: pageScrollTo 无法触发 onReachBottom, 待修复后调整 lifeCycleNum
it('onPageScroll onReachBottom', async () => {
- await program.pageScrollTo(1200)
+ await program.pageScrollTo(2000)
const data = await page.data()
expect(data.isScrolled).toBe(true)
lifeCycleNum = await page.callMethod('getLifeCycleNum')
diff --git a/pages/API/navigator/new-page/new-page-2.uvue b/pages/API/navigator/new-page/new-page-2.uvue
index dca4fb6e84eea57de3521ed35d7b587119aa3a0d..02fb0b48a29d80ea652bce85337fb43f7779fb34 100644
--- a/pages/API/navigator/new-page/new-page-2.uvue
+++ b/pages/API/navigator/new-page/new-page-2.uvue
@@ -1,7 +1,7 @@
-
+
@@ -70,11 +70,11 @@ export default {
},
})
},
- pageScrollTo(){
- uni.pageScrollTo({
- scrollTop: 1200
- })
- }
+ pageScrollTo() {
+ uni.pageScrollTo({
+ scrollTop: 2000,
+ })
+ },
},
}