angularjs - 文本区域高度不会随预填充文本而改变

标签 angularjs angular-material

我这里有一个小问题。

我正在开发一个项目,需要在用户单击号召性用语后显示表单。到目前为止一切都很好。

问题在于,当用户单击按钮显示表单时,文本区域不会根据文本调整高度,并且看起来不完整,直到用户聚焦文本区域并移动箭头键。

这里是Codepen中的代码和示例

<div ng-app="test">
  <div class="holder" ng-controller="MainCtrl" layout="row" layout-align="center center">
    <div class="blocker" ng-show="blocked">
      <md-button class="md-raised md-warn" ng-click="toggle()">See me</md-button>
    </div>
    <div class="form" ng-hide="blocked">
      <form name="myForm">
        <md-input-container flex>
            <label>How are you</label>
            <textarea ng-model="answer1" name='answer1'></textarea>
        </md-input-container>  
      </form>
    </div>
  </div>
</div>

以及 Javascript 部分

var app = angular.module('test', ['ngMaterial']);

app.controller( 'MainCtrl', function($scope){
  $scope.answer1 = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu,";
  $scope.blocked = true;
  $scope.toggle = function(){
    $scope.blocked = !$scope.blocked;
  }
});

http://codepen.io/Tmeister/pen/wajdgE

也许是 Angular Material 错误或者只是 CSS 问题?

提前致谢!

最佳答案

这是一个官方错误,修复即将到来。

https://github.com/angular/material/commit/5fdcf905b4355c0385a02f59d2875b93e7a18ce4

如果你想触发 TextArea 自动增长,请使用 ng-if 而不是 ng-hide/ng-show

<div ng-app="test">
  <div class="holder" ng-controller="MainCtrl" layout="row" layout-align="center center">
    <div class="blocker" ng-show="blocked">
      <md-button class="md-raised md-warn" ng-click="toggle()">See me</md-button>
    </div>
    <div class="form" ng-if="!blocked">
      <form name="myForm">
        <md-input-container flex>
          <label>How are you</label>
          <textarea ng-model="answer1" name='answer1'></textarea>
        </md-input-container>
      </form>
    </div>
  </div>
</div>

工作示例:http://codepen.io/Tmeister/pen/EjLXYm

关于angularjs - 文本区域高度不会随预填充文本而改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31328728/

相关文章:

angular - 更改 mat-spinner-button 的按钮颜色

Angular Material Button 和 RxJS fromEvent 函数 - 没有 nativeElement 属性,只有 _nativeElement 属性

angularjs - 是否可以在 Angular Material 的选择选项中输入文本?

javascript - 嵌套在指令中的 angular-ui View 不会加载 View 内容

javascript - 在 jasmine 中调用 $scope 方法

javascript - 如何获得一个 Angular Directive(指令)来包含和替换另一个指令?

angular - 如何使用angular2 material Dialog 来block for canDeactivate

css - 粘性表格标题在 Angular Material mat-sidenav-container 中不起作用

javascript - ng-Show 不在 ng-repeat 中更新

angularjs - Angular Schematics - 在树上应用数以千计的更改导致错误超出最大调用堆栈大小