2016-04-24 60 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”解决方案,我很乐意看到它..