繁体   English   中英

Angular 6 反应形式输入值到大写

[英]Angular 6 Reactive Form Input Value to UpperCase

我在 Angular 6 中使用 Reactive 表单。对于输入类型文本,我希望它是大写的。 我尝试了解决方案

(input)="form.patchValue({name: $event.target.value.toUpperCase()})"

该解决方案工作正常,但是当我将光标移动到中间并键入一个字符时,唯一的问题是光标移动到最后。

有没有其他方法或更好的解决方案?

为什么不直接使用 CSS 来完成这项工作?

 .uppercase{ text-transform: uppercase; }
 <input class="uppercase" type="text" placeholder="type here">

你可以试试这个:

const yourControl = this.form.get('yourControlName');
yourControl.valueChanges.subscribe(() => {
  yourControl.patchValue(yourControl.value.toUpperCase(), {emitEvent: false});
});

我知道这已经很晚了,但是...

您可以连接到 (change) 事件而不是 (input) 事件。 直到用户离开该字段后,您的案例更改才会执行,但它会阻止光标跳转。

如果用户在字段中按 Enter 提交表单,您的案例更改仍将执行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM