开发者社区> 问答> 正文

为什么我不能使用Angular NgModel限制输入的值长度?

[link](我有一个带有双向绑定的输入字段,我想将用户输入更改为大写并将其限制为3个字符。我在变量的设置器中执行此操作。如果我尝试执行子字符串,则大写替换有效,该子字符串不再更新字段值,但是属性已正确更新。

如果我输入“ abc”,它将正确地替换为“ ABC”,但是当我键入三个以上的字符时,其他字符将不会被删除。例如,“ abcde”在输入中显示“ ABCde”。请参阅stackblitz示例:https ://stackblitz.com/edit/angular-bpuh8a

<input type="text" id="airport" name="airport" [(ngModel)]="airport"> private _airport = ''; get airport(): string { return this._airport; } set airport(value: string) { this._airport = value.substring(0, 3).toUpperCase(); } 我知道我可以使用maxlength来限制字段长度,但是它可以工作,但是我想了解为什么我在这里做不到。

我也尝试过在ngModelChange中调用方法,但结果是相同的

谢谢您的帮助。)

展开
收起
被纵养的懒猫 2019-10-09 17:00:28 513 0
0 条回答
写回答
取消 提交回答
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Angular从零到一 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载