首页 > 解决方案 > 带有角度材料的文本区域在启动页面上的大小不正确

问题描述

我面临一个我无法理解的奇怪问题。当我的一个页面显示时,我的 textarea 被剪切了,正如我们在这张图片中看到的那样

在此处输入图像描述

但是当我只调整一点页面大小或者我只是打开控制台(也可能调整页面大小)时,文本会完全显示

在此处输入图像描述

这是一个表单,我可以编辑它,当我这样做并保存时,文本也会完全显示,问题仅在页面刚刚启动时发生。

我像这样使用有角度的材料和简单的文本区域:

 <textarea matInput
   cdkTextareaAutosize #autosize="cdkTextareaAutosize"
   cdkAutosizeMinRows="1" cdkAutosizeMaxRows="25"
 </textarea>

仅供参考,它位于“ng-template”中,但不要认为它会改变任何东西。我不想像您想象的那样固定特定的高度,因为它应该是动态的,具体取决于文本长度。

你知道它是从哪里来的吗?我该如何解决它?谢谢您的回答。

标签: angularangular-materialtextarea

解决方案


它不起作用的核心原因textarea是在渲染之前计算了大小。尝试删除 autoheight属性,并为其设置一个固定值line-height

例子:

textarea {
  /*height: auto !important;*/
  resize: none;
  line-height: 3 !important;
}

希望这有帮助。


推荐阅读