試試吧!它也在線的中間工作!
<TextInput
value={this.state.query}
onChangeText={text => this.setState({ query: text, allowEditing: true })}
selection = {this.state.selection}
onSelectionChange={(event) => this.setState({ cursorPosition: event.nativeEvent.selection, selection: event.nativeEvent.selection, allowEditing: true })}
onSubmitEditing={() => {
const { query, cursorPosition } = this.state;
let newText = query;
const ar = newText.split('');
ar.splice(cursorPosition.start, 0, '\n');
newText = ar.join('');
if (cursorPosition.start === query.length && query.endsWith('\n')) {
this.setState({ query: newText });
} else if (this.state.allowEditing) {
this.setState({
query: newText,
selection: {
start: cursorPosition.start + 1,
end: cursorPosition.end + 1
},
allowEditing: !this.state.allowEditing
});
}
}}
multiline = {true}
numberOfLines = {10}
blurOnSubmit={false}
editable={true}
/>
this.state = {
query: '',
cursorPosition: [0,0],
selection: null,
allowEditing: true
}
https://snack.expo.io/S1x65UOyb這是一個工作演示。一切工作正常我。 – eden
你的RN版本是0.43.3嗎?它不適合我。 – cityvoice
我剛纔看到一個關於這個問題的公開問題。 https://github.com/facebook/react-native/issues/12717現在,最好的解決方案是降級回舊版本的RN。如果它關於在單個客戶端上工作,只需將手機的鍵盤更改爲谷歌鍵盤即可。沒有問題,或本地的。 – eden