numberOfLines TextInput属性不起作用

时间:2016-03-11 09:51:14

标签: javascript android reactjs react-native textinput

我在react-native创建了一个应用程序,我可以选择在消息中聊天选项。当我在TextInput中单击并键入两行时,上面的行被隐藏。为了解决这个问题,我在docs numberOfLines属性中看到了它,但它没有用。

这是我的代码:

<TextInput

                ref='textInput'
                multiline={true}
                numberOfLines: {5}
                onChangeText={this.onChangeText}
                style={[styles.textInput, {height: context.props.textInputHeight}]}
                placeholder={context.props.placeholder}
                placeholderTextColor="#5A5A5A"
                value={context.state.text}/>

我也在getDefaultProps函数中尝试过它:

getDefaultProps() {
    return {
      placeholder: 'Type a message...',
      navHeight: 70,
      textInputHeight: 44,
      numberOfLines:5,
      maxHeight: Screen.height,
    };
  },

但没效果。

4 个答案:

答案 0 :(得分:2)

您可以使用maxHeightminHeight来接受您想要的内容。对于标准文本fontSize,给出maxHeight={60}将使TextInput在3行之后可滚动。这对IOS很有用 - 对于Android,你可以使用numberOfLines prop。

答案 1 :(得分:1)

要恢复:

<TextInput
  ...
  numberOfLines={Platform.OS === 'ios' ? null : numberOfLines}
  minHeight={(Platform.OS === 'ios' && numberOfLines) ? (20 * numberOfLines) : null}
/>

答案 2 :(得分:0)

您有numberOfLines: {5},应为numberOfLines={5}。或者只是在SO中只是一个错字?

此外,还建议使用样式textAlignVertical: 'top'

答案 3 :(得分:0)

您应该设置 [+] Trying pin "12345670" [+] Sending authentication request [+] Sending association request [+] Associated with 5C:E3:0E:42:E1:BA (ESSID: ***) [+] Sending EAPOL START request [+] Received identity request [+] Sending identity response [+] Received M1 message [+] Sending M2 message [+] Received M1 message [+] Received WSC NACK [+] Sending WSC NACK [!] WPS transaction failed (code: 0x04), re-trying last pin 。我确实设置了我的 maxHeight