2016-04-03 9 views
0

Ich versuche, zwei Texteingaben zu implementieren. Ich bin mir nicht sicher, ob die beste Methode darin besteht, diese in eine Bildlaufansicht zu verpacken oder nicht. Wenn ich es jedoch wie unten gezeigt mache, sehe ich nur eine einzige Linie in der Mitte.TextInput mit React Native zeigt eine einzelne Zeile

Wenn ich die Bildlaufansicht entferne und nur eine Texteingabe belasse, wird eine Box mit Eingaben angezeigt, mit denen ich interagieren kann. Obwohl ich immer noch nicht in der Lage bin, die Tastatur auf dem Simulator anzuzeigen. Aber ich kann den Status manuell eingeben und ändern.

Haben Sie eine Idee, wie Sie mehr als eine Texteingabe zulassen und wie die native Tastatur angezeigt wird, die von unten erscheint?

render() { 
    return (
     <ScrollView> 
     <TextInput 
     style={{height: 40, borderColor: 'gray', borderWidth: 1}} 
     placeholder="Enter item 1" 
     value={this.state.text} 
     onChangeText={this.onChange} /> 
     <TextInput 
      style={{height: 40, borderColor: 'gray', borderWidth: 1}} 
      placeholder="Enter item 2" 
      value={this.state.text} 
      onChangeText={this.onChange} /> 
     </ScrollView> 
    ); 
    } 
+0

Sind Sie auf iOS? Es sollte eine Option geben, um zwischen der Hardware-Tastatur - Ihrem PC - und der auf Ihrem Bildschirm angezeigten zu wechseln. Ich denke es ist onK auf dem iOS-Simulator. Sie können es im oberen Menü finden, sonst sollte iOS Simulator -> Hardware -> Hardware-Tastatur schließen deaktiviert sein, damit die Bildschirmtastatur angezeigt wird. – whitep4nther

+0

In Bezug auf Ihr Display-Problem, kann ich es nicht auf iOS-kein Mac in meiner Nähe versuchen - aber in Android scheint gut zu funktionieren. Versuchen Sie, dem Attribut contentContainerStyle in Ihrem ScrollView Stile hinzuzufügen. Vielleicht hilft das Problem mit flex oder setting height (https://facebook.github.io/react-native/docs/scrollview.html#content). Versuchen Sie trotzdem, den Inspektor zu verwenden, um Elemente auf Ihrem Bildschirm zu überprüfen (Menü -> Inspektor). – whitep4nther

Antwort

0

1 - Für den iOS Simulator gibt es eine Option Hardware -> Tastatur -> Toggle Software-Tastatur (die standardmäßig deaktiviert ist). Wenn Sie diese Option markieren, sollte Ihr Problem der Anzeige der nativen Tastatur gelöst werden.

2 - Bei mehrzeiliger Texteingabe. Ja, das ist ein Problem, aber es gibt eine Arbeit, die in dieser Antwort unten aufgeführt ist. Ich füge den Link zur Antwort als Referenz bei.

PS: Ich habe es selbst nicht versucht, aber die Antwort wurde markiert, um das Problem zu lösen!

Multi-Line TextInput Hack - https://stackoverflow.com/a/31759113/5783646

0
  • Display-Tastatur in iOS Simulator: Hardware -> Tastatur -> Toggle Software-Tastatur
  • zeigen mehr als eine Texteingabe: Meine Vermutung ist, dass es Arten angewendet werden (oder auch nicht angewendet) auf ein Elternelement oder an einer anderen Stelle, die das Rendern des TextInput in einer verwendbaren Größe verhindert.

Ich habe ein Beispiel auf RN Spielplatz, der zeigt, was Sie fordern: https://rnplay.org/apps/ldlfWw

Verwandte Themen