我有如下所示的示例json,我试图在textarea(Plunker)中表示标签和值的关键字。但是如果模型包含" \ n"则textarea不起作用。只要有\ n我希望文本出现在新行中。
$scope.sampleData = {
"id": 10000,
"transactionid": "gec43434",
"status": "COMPLETED",
"session_id": "TTYUU455667",
"errors": "1",
"start_timestamp": "2016-11-07 02:35:35",
"log_field": "\n\nSample Text\nRowX\n\nRowY\nRowZ\n"
}
在textarea,我想" log_field"价值出现为:
Sample Text
RowX
RowY
RowZ
即使有多个\ n \ n ...也应该只有一个换行符。
答案 0 :(得分:0)
Textarea似乎正在工作,你是否在log_field
textarea向下滚动,因为它从2 \ n&ns开始?
对于上一个查询,您应该创建一个自定义过滤器,它可以用一个换行符替换多个连续换行符。它非常简单和基本,但如果您需要更多指导,请告诉我。
有关此处过滤器的详细信息:https://docs.angularjs.org/guide/filter。它还提供了有关如何创建自定义过滤器的示例。
答案 1 :(得分:-1)
您可以使用以下内容删除额外的新行字符:
"\n\nSample Text\nRowX\n\nRowY\nRowZ\n".replace(/\n\s*\n/g, '\n');
var text = "\n\nSample Text\nRowX\n\nRowY\nRowZ\n".replace(/\n\s*\n/g, '\n');
document.getElementById("foo").value = text;
<textarea id="foo"></textarea>
答案 2 :(得分:-1)
尝试添加以下代码:
$scope.sampleData.log_field = $scope.sampleData.log_field.replace(/\\n{1,}/g,'\\n');