android numberOfLines文本输入属性不起作用

ljo96ir5  于 2022-12-02  发布在  Android
关注(0)|答案(4)|浏览(163)

我在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,
    };
  },

但并没有奏效。

rdrgkggo

rdrgkggo1#

若要继续:

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

2jcobegt2#

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

slsn1g29

slsn1g293#

你有numberOfLines: {5},应该是numberOfLines={5}。或者这只是SO中的一个排印错误?
此外,还建议采用textAlignVertical: 'top'造型。

8hhllhi2

8hhllhi24#

你应该设置maxHeight。我确实设置了我的maxHeight={70}

相关问题