我需要使用ng2-trim-directive库
修剪输入框上的模糊功能输入角度v 6.1.10 ng2-trim-directive v 2.3.0
我们需要在反应形式输入中编写 trim =“ blur” 才能应用此功能,它可以按预期工作,并在模糊后修剪输入。
如果所有空格都空白并且在必填字段中显示错误,它也会进行修剪。 但是面临一个奇怪的问题。当用户仅输入一个字母时,会引发与所需相同的错误。
有趣的是,当写2个字母并将其从输入框中删除时,它可以很好地工作。
请问这个问题吗?
选中此demo。
输入'a'。它会引发错误
现在,如果我写'aa'并删除一个字母,它不会引发任何错误。
为什么两者的行为都不一样?
有人可以调查这个问题,让我知道如何解决?
答案 0 :(得分:0)
问题出在库中,因此请更改 input-trim.directive.ts
上的代码private updateValue(event: string, value: string): void {
const currentValue = this.trim !== '' && event !== this.trim ? value : value.trim();
const previousValue = this._value;
let trimmedPreviousValue = '';
if (Boolean(previousValue)) {
trimmedPreviousValue = previousValue.trim();
}
this.writeValue(currentValue);
const trimmedValue = this._value.trim();
if (trimmedValue !== previousValue && (trimmedValue !== '' || trimmedPreviousValue !== '')) {
this.onChange(this._value);
}
}