📜  调整大小() { this.elementRef.nativeElement.style.height = '4px'; this.elementRef.nativeElement.style.height = this.elementRef.nativeElement.scrollHeight + 'px'; } (1)

📅  最后修改于: 2023-12-03 15:12:11.964000             🧑  作者: Mango

使用 Angular 元素引用调整文本框大小

在 Angular 中,可以使用元素引用来获取 DOM 元素并进行操作。当需要根据文本框内容的高度动态调整文本框大小时,就可以使用元素引用来完成这项任务。

以下是一个示例代码片段,展示了如何使用元素引用调整文本框大小:

import { Component, ElementRef } from '@angular/core';

@Component({
  selector: 'app-resize-textarea',
  template: '<textarea (input)="adjustSize()"></textarea>',
})
export class ResizeTextareaComponent {

  constructor(private elementRef: ElementRef) { }

  adjustSize() {
    this.elementRef.nativeElement.style.height = '4px';
    this.elementRef.nativeElement.style.height = this.elementRef.nativeElement.scrollHeight + 'px';
  }

}

在上面的代码中,我们首先通过 ElementRef 依赖注入来获取元素引用,然后在 adjustSize 方法中使用 nativeElement 属性来获取 DOM 元素,并进行调整大小的操作。

具体来说,我们首先将元素的高度设置为一个较小的值(如 4px),然后再将其高度设置为 scrollHeight 属性的值,该属性会返回元素内容的高度。

此外,我们还在 template 元素中定义了一个简单的文本框,用于演示示例代码的效果。

如果您希望在 Angular 中实现文本框的大小自适应功能,上述代码片段将为您提供一个良好的起点。