Commit 35c05525 authored by haiyoucuv's avatar haiyoucuv

倒计时

parent 9592f43b
...@@ -16,15 +16,18 @@ export class PageCtrl extends Component<{}, PageCtrlState> { ...@@ -16,15 +16,18 @@ export class PageCtrl extends Component<{}, PageCtrlState> {
static changePage: (Component: ComponentType<any>, props?: any) => void = null; static changePage: (Component: ComponentType<any>, props?: any) => void = null;
static backPage: () => void = null; static backPage: () => void = null;
static replacePage: (Component: ComponentType<any>, props?: any) => void = null;
componentDidMount() { componentDidMount() {
PageCtrl.changePage = this.changePage; PageCtrl.changePage = this.changePage;
PageCtrl.backPage = this.backPage; PageCtrl.backPage = this.backPage;
PageCtrl.replacePage = this.replacePage;
} }
componentWillUnmount() { componentWillUnmount() {
PageCtrl.changePage = null;
PageCtrl.backPage = null; PageCtrl.backPage = null;
PageCtrl.backPage = null; PageCtrl.replacePage = null;
} }
changePage = (Component: ComponentType<any>, props: any = {}) => { changePage = (Component: ComponentType<any>, props: any = {}) => {
...@@ -41,6 +44,16 @@ export class PageCtrl extends Component<{}, PageCtrlState> { ...@@ -41,6 +44,16 @@ export class PageCtrl extends Component<{}, PageCtrlState> {
} }
}; };
replacePage = (Component: ComponentType<any>, props: any = {}) => {
const pages = this.state.pages;
if (pages.length > 0) {
pages[pages.length - 1] = { Component, props };
this.setState({ pages });
} else {
this.changePage(Component, props);
}
}
render() { render() {
const { pages } = this.state; const { pages } = this.state;
if (!pages.length) return null; if (!pages.length) return null;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment