如何禁用Angular Material中textarea matInput的拖拽调整大小功能?
禁用Angular Material中textarea调整大小的实现方法
可以正常禁用,原生通用textarea样式不生效是因为Angular Material对绑定了matInput指令的元素设置了优先级更高的默认样式,覆盖了通用textarea选择器的规则,使用对应匹配的选择器即可生效:
方法1:全局禁用所有带matInput的textarea调整功能
在项目全局样式文件(通常为styles.css/styles.scss)中添加如下规则即可全局生效:
textarea[matInput] { resize: none; }
如果存在样式优先级冲突,可添加!important提高规则优先级:
textarea[matInput] { resize: none !important; }
方法2:仅禁用指定textarea的调整功能
如果不需要全局生效,仅需给目标textarea添加自定义类即可:
<textarea matInput class="disable-resize"></textarea>
在对应组件的样式文件中添加对应规则即可,若组件默认开启样式封装导致规则不生效,可搭配:host和::ng-deep限定作用范围避免污染全局样式:
:host ::ng-deep .disable-resize { resize: none; }
内容的提问来源于stack exchange,提问作者m4ch1n3ry
相关产品推荐
相关产品推荐

