要獲得不僅可以使用如下的TextInput的的onChange功能的新輸入的文本: -
<TextInput
onChange={(event) => {console.log(event.nativeEvent.data)}}
onChangeText={(val) => {console.warn(val)}}
/>
符合規定onChangeText會給你完整的文本,但你可以使用來自的onChange事件得到新的敵人的信。
編輯
根據你的反應,你得到完整的新文本event.nativeEvent.text本地新版本和event.nativeEvent.data沒有數據。因此,對於你的要求,你可以用下面的代碼現在: -
<TextInput
onChange={(evnt)=>{
let newText = [];
let oldText = [];
for(let i=0;i<evnt.nativeEvent.text.length;i++) {
newText.push(evnt.nativeEvent.text[i]);
if(this.state.val[i]) {
oldText.push(this.state.val[i]);
}
}
let newLetter = '';
for(let j=0;j<newText.length;j++) {
if(newText[j] !== oldText[j]) {
newLetter = newText[j];
break;
}
}
console.log(newLetter);
}}
onChangeText={(val)=>{
console.log(val);
this.setState({val});
}}
/>
你會得到你的newLetter的控制檯中新輸入的字母。我會讓你知道,如果我找到別的與此相關的,但是現在你可以用這個:)
首先我使用'事件正在越來越不確定。 nativeEvent.data',如果它改爲'event.nativeEvent.text',它就會工作。第二個是我從'event.nativeEvent.text'獲取整個文本。我在v0.47.1反應原生 –
@VishweshJainkuniya我已經更新了上面的答案,你可以通過這個得到你想要的輸出:) –
感謝通過'onSelectionChange'的另一種方法。 –