后端传数据字符串带‘\n\r’时的前端渲染

本文介绍了在后端传递包含' '的数据到前端时,如何正确渲染换行和制表符。通过使用CSS的white-space属性,可以确保 和 在前端页面上被正确识别并保留。文中列举了不成功的方法以及可行的CSS解决方案,并提供了相关的SCSS和HTML代码示例。
摘要由CSDN通过智能技术生成

直接上方法:下面是后端部分含有\n\t的数据:

不起作用的方法:message.replace('\\\n\r\','</br>');不知道为什么没有起作用

起作用的方法:用css

 scss:

  .item {
    padding: 5px 0;
    max-height: 400px;
    overflow-y: scroll;
    white-space:pre-wrap; // 就是添加这个属性
  }

 

可以使用一些前端框架或者库来实现这个功能,比如React、Vue等。 如果使用React,可以使用dangerouslySetInnerHTML属性将后端来的字符串渲染到页面上,然后使用CSS样式来为span标签设置背景高亮。具体的实现步骤如下: 1. 在React组件中定义一个state,用来保存后端来的字符串数据。 ``` import React, { useState } from 'react'; function App() { const [data, setData] = useState(''); // 这里可以使用fetch或者axios等工具从后端获取数据 // 然后将获取到的数据设置到state中 return ( <div dangerouslySetInnerHTML={{ __html: data }}></div> ); } export default App; ``` 2. 在CSS样式表中定义一个span标签的样式,设置背景颜色为高亮色。 ``` span.highlight { background-color: yellow; } ``` 3. 使用JavaScript遍历渲染后端来的字符串,为其中的span标签添加highlight类名。 ``` import React, { useState, useEffect } from 'react'; function App() { const [data, setData] = useState(''); useEffect(() => { // 这里可以使用fetch或者axios等工具从后端获取数据 // 然后将获取到的数据设置到state中 // 这里使用静态数据来模拟后端来的字符串 const str = '<div><span>hello</span><span>world</span></div>'; setData(str); }, []); useEffect(() => { const div = document.createElement('div'); div.innerHTML = data; const spans = div.getElementsByTagName('span'); for (let i = 0; i < spans.length; i++) { spans[i].classList.add('highlight'); } setData(div.innerHTML); }, [data]); return ( <div dangerouslySetInnerHTML={{ __html: data }}></div> ); } export default App; ``` 这样就可以实现将后端来的多条字符串数据包含span标签,循环让该span标签背景高亮的功能了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值