如何让textarea中输入多行的数据在p标签中换行?

我们在用React开发Web项目的过程中,有的时候,我们需要把textarea中输入的多行字符串,在其他的标签中输出来,比如p标签。但是,往往这个时候,在p标签中输出的内容其默认情况下是不换行的。比如下面的代码:

import React,{Component} from ‘react‘;
export default class HelloWorld extends Component{

  constructor(){
    super(...arguments);
    this.state={
      note:"",
    }
  }

  render(){
    return(
    <div className="app" style={{padding:"10px 5px 15px 20px"}}>
          <form id="noter-save-form" method="POST" style={{topPadding:"100px",leftPadding:"100px"}}>
              <textarea id="noter-text-area" style={{height:"100px"}} name="textarea" onChange={(e)=> this.setState({note:e.target.value}) } ></textarea>
              <hr/>
              <label>The input value for Note:</label>
              <hr/>
              <p>{this.state.note}</p>
              <hr/>
           </form>
    </div>
  );
  }
}

下面是其渲染的结果:

我们可以看出,其在TextArea中输入的回车换行,在p标签中,压根显示不出来。

那么这个时候,我们应该怎么办?其实解决的方案很简单,代码入下:

import React,{Component} from ‘react‘;
export default class HelloWorld extends Component{

  constructor(){
    super(...arguments);
    this.state={
      note:"",
    }
  }

  render(){
    return(
    <div className="app" style={{padding:"10px 5px 15px 20px"}}>
          <form id="noter-save-form" method="POST" style={{topPadding:"100px",leftPadding:"100px"}}>
              <textarea id="noter-text-area" style={{height:"100px"}} name="textarea" onChange={(e)=> this.setState({note:e.target.value}) } ></textarea>
              <hr/>
              <label>The input value for Note:</label>
              <hr/>
              <p>
              {this.state.note.split(‘\n‘).map(function(item) {
                  return (
                    <span>
                      {item}
                      <br/>
                    </span>
                  )
                })} </p>
              <hr/>
           </form>
    </div>
  );
  }
}

从上面的代码可以看出,我们在p标签中渲染的时候,把textarea中输入的\n

换成了br标签。

 {this.state.note.split(‘\n‘).map(function(item) {
                  return (
                    <span>
                      {item}
                      <br/>
                    </span>
                  )
                })} 

换完后,UI渲染的效果如下:

时间: 2024-10-26 17:53:43

如何让textarea中输入多行的数据在p标签中换行?的相关文章

C# 将Access中时间段条件查询的数据添加到ListView中

C# 将Access中时间段条件查询的数据添加到ListView中 一.让ListView控件显示表头的方法 在窗体中添加ListView 空间,其属性中设置:View属性设置为:Detail,Columns集合中添加表头中的文字. 二.利用代码给ListView添加Item. 首先,ListView的Item属性包括Items和SubItems.必须先实例化一个ListIteView对象.具体如下: ListViewItem listViewItem=new ListViewItem(); l

使用函数BAPISDORDER_GETDETAILEDLIST读取S/4HANA中Sales Order行项目数据

事务码MM03查看物料主数据,如下图所示的行项目数据,包含物料ID,描述信息,数量,单价等等: 使用如下代码进行行项目读取: DATA: ls_read TYPE order_view, lt_item TYPE TABLE OF bapisdit, lt_header TYPE table of sales_key. APPEND INITIAL LINE TO lt_header ASSIGNING FIELD-SYMBOL(<header>). " 代表读取行项目 ls_rea

如何用Vi把一个文件中的几行拷贝到另一个文件中去

举例 将a.txt第1行到第5行,拷贝到新文件b.txt中去(b.txt不存在) 首先查看一下a.txt cat a.txt 1 2 3 4 5 6 7 8 8 9 10 vi打开a.txt 指令模式(Command Mode)下输入:进入末行模式 输入  :1,5w!>>b.txt

linux下向一个文件中的某行插入数据的做法

sed -i 'ni\x' test.file        表示向test.file文件里的第n行的前面添加x内容sed -i 'na\x' test.file       表示向test.file文件里的第n行的后面添加x内容 sed -i '/m/i\x' test.file     表示向test.file文件里匹配m字符串的行的前面添加x内容sed -i '/m/a\x' test.file    表示向test.file文件里匹配m字符串的行的后面添加x内容 -i     表示in

遍历表格中的数据,将表格中的某行的某个字段存到数组中,且该数组中不能有相同字段值

var ishas = false; var pid_arr= []; onLoadSuccess: function (data) {                    if (data.length > 0) {                for (var i = 0; i < data.length; i++) {                    if (pid_arr.length == 0) {                        pid_arr.push(d

Eclipse输入命令行参数

想要在Eclipse中输入命令行参数,可以在目录中该程序上右键,选择“Run As",选择”Run configurations",如图: 然后输入命令行参数: 点击Apply和Run,就会将命令行参数传给我们的程序. public static void main(String[] args) { System.out.println(args[0]); System.out.println(args[1]); } 这样就会再控制台上输出:test a 注意,我们只要将"a

统计Textarea的输入字符数

HTML代码: <div class="item-textarea">     <textarea></textarea>     <span>还可以输入<i>500</i>个文字</span> </div> CSS代码: .item-textarea{     position: relative; } .item-textarea textarea{     width: 100%;  

在一个Excel单元格内输入多行内容

有时候,我们想在一个Excel单元格中输入多行内容,可以根据不同情况选择下面的方法来实现: 方法一:如果有大量的单元格需要这样做,采取此种设置格式的方法,选中需要这种格式的单元格,执行"格式→单元格"命令,打开"单元格格式"对话框,切换到"对齐"标签下,选中"自动换行"选项,确定返回即可. 以后,在此类单元格中输入超过列宽的字符时,系统自动按列宽分多行进行排列. 方法二:如果只有少量单元格需要这样做,采取此种手动的方法来实现,

JS修改标签中的文本且不影响其中标签

/********************************************************************* * JS修改标签中的文本且不影响其中标签 * 说明: * 需要修改<a>标签中的显示文本内容,但<a>标签中又有标签. * * 2017-8-28 深圳 龙华樟坑村 曾剑锋 ********************************************************************/ 一.参考文档: 1. get