1.正常跳转下一页
navigateTo
2.重定向
redirectTo
3.关闭当前页面,返回上一页面或多级页面
navigateBack({
delta: 2
})
navigateTo({
url: 'B?id=1'
})
4返回前两位并带参
**
* 封装的公用方法
* 返回时携带参数
* 传参的页面:backWithParam(num,params)
* 接受的页面在 componentDidShow() 方法中接收,setState后需要手动刷新key
* let pages = Taro.getCurrentPages();
* let currPage = pages[pages.length - 1]; // 获取当前页面
* this.setState({
* house_id: currPage.data.house_id,
* })
*/
export const backWithParams = ({
num = 1,
data,
success = () => {}
}: {
data: Record<string, any>;
num?: number;
success?: () => void;
}) => {
const pages = getCurrentPages(); // 获取当前的页面栈
const prevPage = pages[pages.length - (num + 1)]; // 获取上num个页面
prevPage.setData(data);
navigateBack({
delta: num,
success
});
};
//调用方法
backWithParams({
num: 2,
data: {
isRefresh: true
}
});