2017-01-16 12 views
8

onContentSizeChange Android'de düzgün çalışmıyor gibi görünüyor. Olay mount'da tetiklendi, ancak text height değişikliğinden kovulmadı. Özdeş kod iOS için çalışıyor: Android onContentSizeChange yılındaonContentSizeHavus Android'deki yükseklik değişiminde ateş etmeme (tepki verme)

<TextInput 
    editable = {true} 
    multiline = {true} 
    [...] 
    onContentSizeChange={(event) => { 
    this.setState({height: event.nativeEvent.contentSize.height}); 
    }} 
    style={{height: Math.max(35, this.state.height)}} 
/> 
+1

Yerli kullandığınız React hangi sürümü için sorun sabit? Bu benim için v0.46'da çalışıyor. –

cevap

7

https://github.com/facebook/react-native/issues/6552#issuecomment-269989962

sadece bir kez kullanımı yerine onContentSizeChange ait onChange denir. Her değişiklikten sonra value Ayar

Kod

<TextInput 
    editable = {true} 
    multiline = {true} 
    [...] 
    onChange={(event) => { 
    this.setState({height: event.nativeEvent.contentSize.height}); 
    }} 
    style={{height: Math.max(35, this.state.height)}} 
/> 
+1

Bu artık iyi bir çözüm değil, kullanımdan kaldırıldı: https://github.com/facebook/react-native/commit/bac84ce207a0466cec95626131063751eb48b964 –

0

beni

<TextInput 
    multiline={true} 
    onChangeText={(text) => { 
    this.setState({text}); 
    }} 
    onContentSizeChange={(event) => { 
    this.setState({height: event.nativeEvent.contentSize.height}); 
    }} 
    style={{height: this.state.height}} 
    value={this.state.text} 
/> 
İlgili konular