我需要为
我正在关注:How to autoresize the ion-input field vertically while i am typing和https://stackblitz.com/edit/expandable-input
@Directive({ selector: 'ion-textarea[autosize]' })
但是,不是
@Directive({ selector: 'textarea[autosize]' })
这是我的Stackblitz(自动调整大小无效):https://stackblitz.com/edit/expandable-input-htjncw
控制台错误:“错误TypeError:无法读取未定义的属性'style'...”
代码:
adjust():void {
const textArea = this.element.nativeElement.getElementsByTagName('textarea')[0];
textArea.style.overflow = 'hidden';
textArea.style.height = 'auto';
textArea.style.height = textArea.scrollHeight + 'px';
}
答案 0 :(得分:0)
如果将指令添加到textarea
而不是ion-textarea,则可以直接从nativeElement
访问html元素。您不会通过getElementsByTagName
adjust():void {
const textArea = this.element.nativeElement;
textArea.style.overflow = 'hidden';
textArea.style.height = 'auto';
textArea.style.height = textArea.scrollHeight + 'px';
}