Ich habe eine benutzerdefinierte Rechtnavigationstaste geschrieben, indem Sie dem Beispiel here folgen. Es scheint jedoch, dass die Methode onNavigatorEvent()
nicht mehr aufgerufen wird, wenn eine benutzerdefinierte Komponente verwendet wird. Ich habe sogar versucht, das onPress-Ereignis als Prop zu meiner benutzerdefinierten Komponente zu übergeben, aber das kommt als undefined
durch. Gibt es etwas, das mir fehlt? DieseWix React-Native-Navigation: onPress für benutzerdefinierte Komponente Schaltfläche
ist, wie ich die onPress prop bin vorbei an der Funktion, die der Schaltfläche zu erstellen:
Navigation.registerComponent('DoneButton',() => DoneButton);
const DoneButton = ({text, backgroundColor, textColor, onPressAction}) => {
var containerStyle = [{backgroundColor: backgroundColor, width: 70, height:30, justifyContent:'center', borderRadius:4, shadowColor:'black', shadowOpacity:0.2, shadowRadius:1, shadowOffset:{width:0, height:2}}];
return(
<TouchableOpacity style={containerStyle} onPress={onPressAction}>
<Text style={[{color:textColor, textAlign: 'center', fontSize:16}]}>
{text}
</Text>
</TouchableOpacity>
);
}
_renderDoneButton(){
this.props.navigator.setButtons({
rightButtons: [
{
id: 'Done'
component: 'DoneButton',
passProps: this._DoneButtonProps(),
}],
})
}
_DoneButtonProps(){
return {
text: 'Done',
backgroundColor: 'green',
textColor: 'white',
onPressAction: this._doneAction.bind(this)
}
}
_doneAction(){
alert('Done');
}
Hallo, können Sie einen Code teilen? die Registrierung, die 'Funktion' selbst – gran33
@ gran33 Okay, fügen Sie mehr Code – pnizzle
@ gran33 bitte aktualisieren und einen Blick auf den aktualisierten Code – pnizzle