2016-04-24 58 views
0

Im新的反應原生。我剛剛創建了一個可重複使用的文本輸入組件。 我在視圖中使用該可重用組件。在一個地方添加可重用組件4次,並在另一個地方7次。不允許視圖增加其大小取決於內容

例如:

<Textinput 
     style={styles.textInput} 
     secureTextEntry={false} 
     textInputName={'USERNAME'} 
     showBottomBorder={true} 
     height={45} 
     onTextChange={this.onTextChangeUsername} 
     /> 

鑑於使用上述代碼7次,使視圖的大小的增加。 但我不想讓它在iPhone 4s屏幕上看起來很醜。

那麼有什麼辦法可以禁止嗎?或者,我可以根據其父視圖的高度給予可重用組件的高度?

贊,height = {parentView.height/7}?

回答

0

我不知道究竟是如何解決你的問題,但如果你想添加一個自定義的寬度/高度組件,它依賴於div的大小,你可以做這樣的事情了一類功能:

resizeGraphs(){

 var div = document.getElementsByClassName("yourcontainer") 
     if (div[0] != undefined){ 
      var divWidth = document.getElementsByClassName("yourcontainer")[0].clientWidth //or .clientHeight 
      this.setState({ 
       divWidth, 
      })}} 

爲了解釋,這將在componentDidMount叫(我想你不必擔心調整窗口大小)。它可以獲得給定類的寬度,並且可以按照您的建議適當調整內部元素。

我猜如果你看到直接引用DOM中的反應,警告標誌應該熄滅,但我不知道要如何解決這個問題。如果有人有更多的「反應-y」解決方案,我很樂意看到它..