带 的Angularjs textarea模型应该开始新行

angularjs textarea model with should start new line

本文关键字:开始 新行 模型 Angularjs textarea      更新时间:2023-09-26

我有样例json如下所示,我试图表示关键在标签和值在文本区(Plunker)。但是,如果模型包含"'n",则文本区域不工作。每当有一个'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…应该只有一个换行符。

Textarea似乎正在工作,您是否在log_field Textarea中向下滚动,因为它以2 'n's开始?

对于您的最后一个查询,您应该创建一个自定义过滤器,它可以用单个换行符替换多个连续换行符。这是非常简单和基本的,但如果你需要更多的指导,请告诉我。

更多关于过滤器的信息在这里:https://docs.angularjs.org/guide/filter。它还提供了一个如何创建自定义过滤器的示例。

尝试添加以下代码:

$scope.sampleData.log_field = $scope.sampleData.log_field.replace(/''n{1,}/g,'''n');

您可以使用以下命令删除额外的新行字符:

"'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>