Ich brauche deine Hilfe! Mein Ziel ist es, den Stil meiner Schaltfläche zu ändern, nachdem ich darauf geklickt habe! Ich hörte von direct manipulation und ich beschloss, es zu versuchen. Jetzt weiß ich nicht warum, aber die onPress in meiner TouchableOpacity funktioniert nicht. Hier ist der Code:onPress in TouchableOpacity löst nicht aus
<TouchableOpacity onPress={() => this.changeStyle}>
<TouchableHighlight style={styles.answer} ref="answer1">
<Text ...> Some Text </Text>
</TouchableHighlight>
</TouchableOpacity>
Und hier ist meine changeStyle Funktion:
changeStyle() {
this.refs['answer1'].setNativeProps({
style: { backgroundColor: "#13a88a"}
});
}
Nun ich weiß nicht, warum, aber die 'onPress' wird nie ausgelöst. Vielen Dank für Ihre Antworten!
Fügen Sie dem 'TouchableHighlight' eine' onPress' hinzu und geben Sie etwas aus, um zu testen, ob das Ereignis angenommen wird. Ich vermute, es wird reichen. – G0dsquad
@ G0dsquad habe ich schon gemacht, das onPress in TouchableHighlight funktioniert. Das Problem ist, dass ich die Funktion changeStyle nicht darin nennen kann, weil es das TouchableHighlight ist, das ich den Stil ändern möchte. Und setNativeProps funktioniert nur mit dem Kind des Containers (hier ist TouchableOpacity der Container und TouchableHighlight das Kind). –
können Sie bitte versuchen, indem Sie '()' zu 'this.changeStyle' hinzufügen –