我有一个mat-form,我希望用户从中输入一些值,然后提交这些值。但是,我希望将其中一个字段转换为小写然后提交,如何实现呢?

HTML代码:

<mat-form-field appearance="fill">
              <mat-label>Hive Table</mat-label>
              <input
                matInput
                formControlName="hiveTable"
              />
            </mat-form-field>


打字稿代码:

this.generalInfoForm = new FormGroup({
      hiveTable: new FormControl('', [Validators.required]),
    });


到目前为止我尝试过的

 <mat-label>Hive Table</mat-label>
              <input
                matInput
                oninput="this.value = this.value.toLowerCase()"
                (keyup.enter)="sendit($event.target.value)"
                formControlName="hiveTable"
              />
            </mat-form-field>


我使用oninout并使用keyup进行了console.log,在控制台中,这些值已转换为小写,但是在提交该值时,该值将更改回用户键入的方式。
我究竟做错了什么。

最佳答案

为什么不在输入中使用

style="text-transform: lowercase"


然后,在您可以提交之前(我想您有一个功能Submit())

submit(form:FormGroup)
{
   if (form.valid)
   {
       form.value.yourField=form.value.yourField.toLowerCase()
       console.log(form.value)
   }
}

07-24 09:19