2015-11-22 29 views
5

Bir facebook'ta örnek kodu buldum. SetNativeProp kullanarak nasıl tıklatılacağını gösteren bir sayfanın içindeki React Native sayfasına ulaştım ancak nasıl yapılacağını çoklu metin kutuları ile göremiyorum.React Native açık metin birden fazla TextInput kutuları

var App = React.createClass({ 
    clearText() { 
    this._textInput.setNativeProps({text: ''}); 
    }, 

    render() { 
    return (
     <View style={styles.container}> 
     <TextInput ref={component => this._textInput = component} 
       style={styles.textInput} /> 
     <TouchableOpacity onPress={this.clearText}> 
      <Text>Clear text</Text> 
     </TouchableOpacity> 
     </View> 
    ); 
    } 
}); 

ref nedenle her zaman aynı TextInput kutusunu hedef alacak işlevinde düzeltilmesi görünüyor: İşte kodudur. Gösterdiğim herhangi bir TextInput kutusunu hedeflemek için işlevi nasıl değiştirebilirim?

cevap

8

Çalışması gerekir. TextInput'taki ref, clearText functino'dan aradığınızın olması gerektiğine dikkat edin. Farklı alanları temizlemek için cevabımı güncelleştirildi.

+0

Ancak, onPress değeriniz yok mu? Farklı bir metin girişini temizlemek için başka bir Bress'den nasıl ayırt edersiniz? İki ayrı işlev oluşturmanız gerekiyor. Sadece bir işlevle nasıl çalışacağını göstermek için iki textinput ve iki touchableopacity düğmeli bir örnek gösterebilir misiniz? – Hasen

+0

cevabımı buna göre güncelledi. – eyal83

+0

Tamam, doğru çizgileri boyunca görünüyor ama aslında çalışmıyor. Sonunda işe yaraydı mı? – Hasen

1

TextInput metnini temizlemek için böyle bir şeyi de kullanabilirsiniz.

clearText(fieldName) { 
    this.refs[fieldName].clear(0); 
},