Как обернуть текст в многострочное реагирование родного textInput - PullRequest
1 голос
/ 29 мая 2019

Я пытаюсь реализовать многострочный ввод текста в реагировать нативно, но когда пользователь вводит текст, текст не переносится, а пишется горизонтально на одной строке,

код для ввода текста следующий:

<View style={[styles.container, props.containerStyles]}>
  <TextInput 
    style={styles.placeholderStyle} 
    placeholder={"Placeholder text"}
    value={this.state.reviewBody}
    onChangeText={body => this.setState({ reviewBody: body })}
    numberOfLines={5}
    textAlignVertical={"top"}
    textBreakStrategy={"highQuality"}
    underlineColorAndroid={"transparent"}
    autoCorrect
  />
</View>

и стили,

const styles = StyleSheet.create({
  container: {
    flex: 1,
    borderWidth: 2,
    borderColor: "#f4f4f4",
    width: WIDTH - 40,
    maxWidth: WIDTH - 40,
    minWidth: WIDTH - 40,
    alignItems: "center",
    justifyContent: "space-between",
    paddingHorizontal: 5,
    marginTop: 10,
    flexWrap: "wrap",
  },
  placeholderStyle: {
    fontSize: 11,
    padding: 0,
    flex: 1,
    width: WIDTH - 40,
    maxWidth: WIDTH - 40,
    minWidth: WIDTH - 40,
    flexWrap: "wrap",
    overflow: "scroll"
  },

1 Ответ

1 голос
/ 29 мая 2019

В TextInput компоненте используйте реквизит multiline={true}, это должно решить вашу проблему.Также, если вы хотите контролировать поведение выравнивания текста, вы можете использовать textAlignVertical реквизит.Найти более подробную информацию в этой ссылке - https://facebook.github.io/react-native/docs/textinput#multiline

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...