【问题标题】:Render multiple values, separated by line break, within a textarea在文本区域内呈现多个值,由换行符分隔
【发布时间】:2015-05-05 08:57:10
【问题描述】:

我正在以角度呈现动态形式。当属性有多个值时,我希望在文本区域中呈现它们。每个值占一行。

但不能让它工作!

这是我目前所拥有的:

<script type="text/ng-template" id="form_field_text">
  <label for="{{field.displayName}}">{{field.displayName}}</label>
  <br />  
  <div ng-if="field.multivalue == '0'">
    <input id="{{field.displayName}}" type="text" ng-model="formValues[field.displayName]" placeholder="{{ field.theValues[0]}}" />
  </div>       
  <div ng-if="field.multivalue == '1'">
    <textarea rows="field.numberOfValues"> 
      <p ng-repeat="value in field.theValues track by $index">
      {{value}}&#10;
      </p>
    </textarea> 
  </div>
</script>

这是我得到的,我认为这是因为我正在渲染

元素与每个 ng-repeat 循环和 textarea 不承认它:

在这种情况下,我可以在没有任何 html 元素“段落”的情况下执行 ng-repeat 吗? 或者任何其他方式来完成这项工作?

【问题讨论】:

    标签: javascript html angularjs textarea ng-repeat


    【解决方案1】:

    这就是诀窍:

      <div ng-if="field.multivalue == '1'">
        <textarea  rows="{{field.numberOfValues}}" cols="50">
          {{field.theValues.join("&#10;");}}
        </textarea>
        <button type="button" ng-click="addValue(field)">Add value </button>
      </div>
    

    该按钮运行以下功能,但仅用于测试:

      $scope.addValue = function(field) {
        field.theValues[(field.numberOfValues)] = "aaaa";
        field.numberOfValues++;
      };
    

    但由于某种原因,我在第一行得到了缩进:

    我用“空白”属性修复了缩进问题:

    <textarea rows="{{field.numberOfValues}}" cols="50" style="white-space: nowrap;">
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-28
      • 2020-04-29
      • 2013-02-19
      • 2021-07-29
      • 1970-01-01
      • 2015-09-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多