如何在react-native-awesome-alerts中的警报消息中插入换行符

时间:2019-01-18 07:10:50

标签: react-native

我在代码中使用react-native-awesome-alerts。 在警报消息中,我想将文本分成新行

它应该像下面的图片

alert

请帮我怎么做

这是我的代码

import React, { Component } from 'react';
import { StyleSheet, View, Text, TouchableOpacity } from 'react-native';
import AwesomeAlert from 'react-native-awesome-alerts';

export default class Alert extends Component {

  constructor(props) {
    super(props);
    this.state = { showAlert: false };
  }

  showAlert = () => {
    this.setState({
      showAlert: true
    });
  };

  hideAlert = () => {
    this.setState({
      showAlert: false
    });
  };

  render() {
    const { showAlert } = this.state;

    return (
      <View style={styles.container}>

        <Text>I'm AwesomeAlert</Text>
        <TouchableOpacity onPress={() => {
          this.showAlert();
        }}>
          <View style={styles.button}>
            <Text style={styles.text}>Try me!</Text>
          </View>
        </TouchableOpacity>

        <AwesomeAlert
          show={showAlert}
          showProgress={false}
          message='Incorrect Username/Password Used{“\n”}Please try again…'
          messageStyle={styles.textStyle}
          closeOnTouchOutside={true}
          closeOnHardwareBackPress={false}
          contentContainerStyle={styles.alertStyle}
        />
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    alignItems: 'center',
    justifyContent: 'center',
    backgroundColor: '#fff',
  },
  button: {
    margin: 10,
    paddingHorizontal: 10,
    paddingVertical: 7,
    borderRadius: 5,
    backgroundColor: '#AEDEF4',
  },
  text: {
    color: '#fff',
    fontSize: 15
  },
  alertStyle: {
    alignItems: 'center',
    justifyContent: 'center',
    backgroundColor: 'white', 
    height: 100,
    width: '60%',
    borderWidth: 1,
    borderColor: '#fff',
    borderRadius: 7,
    color: 'red'
  },
  textStyle: {
      fontSize: 14,
      color: 'black',
      alignItems: 'center'
  }

});

我尝试过“使用了错误的用户名/密码{“ \ n”},请重试…”,但还是没有运气

请让我知道问题出在哪里

2 个答案:

答案 0 :(得分:2)

您需要将消息字符串更改为使用反引号`并添加\ n。现在应该可以使用。

message={`Incorrect Username/Password Used \n Please try again…`}

您还可以将容器宽度更改为80%,并将textAlign:"centre"添加到textStyle CSS中,以使其看起来更好。

这是我设法生产的:

enter image description here

答案 1 :(得分:0)

您可以添加宽度为 80% 的视图,并将 textAlign: "center" 添加到 AwesomeAlert messageStyle 使其看起来更好。

<View style={{ width: '80%' }}>
   <AwesomeAlert
      show={showAlert}
      showProgress={false}
      message='Incorrect Username/Password Used{“\n”}Please try again…'
      messageStyle={styles.textStyle}
      closeOnTouchOutside={true}
      closeOnHardwareBackPress={false}
      contentContainerStyle={styles.alertStyle}
   />
<View>