mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-18 11:17:19 +08:00
fix(react): don't show back button when not appropriate
This commit is contained in:
@ -14,11 +14,11 @@ interface IonPageInternalProps extends IonPageProps {
|
||||
|
||||
class IonPageInternal extends React.Component<IonPageInternalProps> {
|
||||
context!: React.ContextType<typeof NavContext>;
|
||||
ref: React.RefObject<HTMLDivElement>;// React.createRef<HTMLDivElement>();
|
||||
ref: React.RefObject<HTMLDivElement>;
|
||||
|
||||
constructor(props: IonPageInternalProps) {
|
||||
super(props);
|
||||
this.ref = this.props.forwardedRef || React.createRef()
|
||||
this.ref = this.props.forwardedRef || React.createRef();
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
@ -26,7 +26,7 @@ class IonPageInternal extends React.Component<IonPageInternalProps> {
|
||||
if (this.context.hasIonicRouter()) {
|
||||
this.context.registerIonPage(this.ref.current);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
render() {
|
||||
@ -46,6 +46,6 @@ class IonPageInternal extends React.Component<IonPageInternalProps> {
|
||||
static get contextType() {
|
||||
return NavContext;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export const IonPage = createForwardRef(IonPageInternal, 'IonPage');
|
||||
|
@ -15,12 +15,12 @@ export interface ReactControllerProps {
|
||||
|
||||
export const createControllerComponent = <OptionsType extends object, OverlayType extends OverlayBase>(
|
||||
displayName: string,
|
||||
controller: { create: (options: OptionsType) => Promise<OverlayType> }
|
||||
controller: { create: (options: OptionsType) => Promise<OverlayType>; }
|
||||
) => {
|
||||
const dismissEventName = `on${displayName}DidDismiss`;
|
||||
|
||||
type Props = OptionsType & ReactControllerProps & {
|
||||
forwardedRef?: React.RefObject<OverlayType>
|
||||
forwardedRef?: React.RefObject<OverlayType>;
|
||||
};
|
||||
|
||||
class Overlay extends React.Component<Props> {
|
||||
@ -80,16 +80,16 @@ export const createControllerComponent = <OptionsType extends object, OverlayTyp
|
||||
if (this.props.forwardedRef) {
|
||||
(this.props.forwardedRef as any).current = this.overlay;
|
||||
}
|
||||
await this.overlay.present();
|
||||
await this.overlay.present();
|
||||
}
|
||||
}
|
||||
|
||||
render(): null {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
return React.forwardRef<OverlayType, Props>((props, ref) => {
|
||||
return <Overlay {...props} forwardedRef={ref} />
|
||||
})
|
||||
return <Overlay {...props} forwardedRef={ref} />;
|
||||
});
|
||||
};
|
||||
|
@ -17,12 +17,12 @@ export interface ReactOverlayProps {
|
||||
|
||||
export const createOverlayComponent = <OverlayComponent extends object, OverlayType extends OverlayElement>(
|
||||
displayName: string,
|
||||
controller: { create: (options: any) => Promise<OverlayType> }
|
||||
controller: { create: (options: any) => Promise<OverlayType>; }
|
||||
) => {
|
||||
const dismissEventName = `on${displayName}DidDismiss`;
|
||||
|
||||
type Props = OverlayComponent & ReactOverlayProps & {
|
||||
forwardedRef?: React.RefObject<OverlayType>
|
||||
forwardedRef?: React.RefObject<OverlayType>;
|
||||
};
|
||||
|
||||
class Overlay extends React.Component<Props> {
|
||||
@ -96,9 +96,9 @@ export const createOverlayComponent = <OverlayComponent extends object, OverlayT
|
||||
this.el
|
||||
);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
return React.forwardRef<OverlayType, Props>((props, ref) => {
|
||||
return <Overlay {...props} forwardedRef={ref} />
|
||||
})
|
||||
return <Overlay {...props} forwardedRef={ref} />;
|
||||
});
|
||||
};
|
||||
|
Reference in New Issue
Block a user