在 Angular 中,可以使用 @HostListener 和 @ViewChild 装饰器来解决这个问题。通过监听 paste 事件,在粘贴之后清除尾随空格。
示例代码:
HTML:
TS: import { Component, ViewChild, ElementRef, HostListener } from '@angular/core';
@Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { @ViewChild('inputNumber', {static: false}) inputNumber: ElementRef;
@HostListener('paste', ['$event']) onPaste(event: ClipboardEvent) { setTimeout(() => { let pastedValue = this.inputNumber.nativeElement.value; this.inputNumber.nativeElement.value = pastedValue.trim(); }, 0); } }
在这个示例中,我们通过 ViewChild 获取输入框的引用,并使用 @HostListener 监听 paste 事件。在事件触发后,我们使用 setTimeout 函数来确保能正确获取到输入框的值,并通过 trim() 方法将输入值中的尾随空格删除。