因为后端返回的数据是一长串,而且带有\r,\n等换行符,但是并没有生效。前端写法:
// 抛出错误ElMessage.error(msg);
我们知道\r,\n,\r\n
是在不同系统下的换行符的表示,但在JavaScript返回字符串中并没有生效,所以我们需要将字符串中的换行符替换成在HTML中的 <br/>
标签。
// 抛出错误// ElMessage.error(msg);const newMsg = msg.replace(/(\n|\r|\r\n|↵)/g, '<br/>')// console.log(newMsg )
但是这样在ElMessage的提示框中并没有生效,没有换行显示,所以要用到dangerouslyUseHTMLString属性,但是需要注意该属性的应用,可能会导致XSS攻击。
然后修改代码如下:
// 抛出错误// ElMessage.error(msg);const newMsg = msg.replace(/(\n|\r|\r\n|↵)/g, '<br/>')ElMessage({type:'error',dangerouslyUseHTMLString:true,message:newMsg})