[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中调用方法,但结果是相同的
谢谢您的帮助。)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。