为了账号安全,请及时绑定邮箱和手机立即绑定

Angular:在FormGroup中定义默认值输入FormField

Angular:在FormGroup中定义默认值输入FormField

潇湘沐 2022-01-13 15:43:36
从下面的代码中可以看出,我将默认值设置为文本区域:<form [formGroup]="entryForm" (ngSubmit)="onSubmit()">     <div class="view">            <div class="col">                        <mat-form-field>                            <textarea matInput value="Test..." formControlName="firstValue"></textarea>                        </mat-form-field>            </div>            <button type="submit">Submit</button>      </div></form>我正在初始化我的 FormGroup 和 FormFields,如下所示:ngOnInit() { this.entryForm = new FormGroup({   firstValue: new FormControl('') });}public onSubmit() {  console.log(this.entryForm.value);}但是当我点击提交时,值firstValue似乎是空的,而不是“测试...”值,就像在 dom 元素中定义的一样。
查看完整描述

3 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

改变这个:

firstValue: new FormControl('')

对此:

firstValue: new FormControl('Test...')

并从文本区域中删除属性值:

<textarea formControlName="firstValue"></textarea>

在这里,您可以找到一个完整的工作示例(基于答案)

笔记:

这种方法的问题是初始 Textarea 值将是“Test...”,这意味着用户将看到这样的文本。


查看完整回答
反对 回复 2022-01-13
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

模板文件:您formNameControl的不正确:


你可以看看这个演示可能对你有帮助!


  <form [formGroup]="entryForm" (ngSubmit)="onSubmit()">

         <div class="lang">

                <div class="lang-col">

                      <textarea  formControlName="firstValue">   </textarea>


                </div>

                <button type="submit">Submit</button>

          </div>

    </form>

类文件


entryForm: FormGroup;

  ngOnInit() {

    this.entryForm = new FormGroup({

      firstValue: new FormControl('Test...')

    });

  }


  onSubmit() {

    console.log(this.entryForm.value);

  }

或者您可以检查是否formControlName为空然后设置默认值


  onSubmit() {


    if(this.entryForm.get('firstValue').value == "") {

      this.entryForm.patchValue({

        firstValue: 'Your defualt value goes here'

      }); 

    }

    console.log(this.entryForm.value);

  }


查看完整回答
反对 回复 2022-01-13
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

作业中的问题。你必须在类定义之后分配你的输入表单的值,像这样


export class MyComponent implements OnInit{

    public entryForm: FormGroup = new FormGroup({

        firsValue: new formControl('')

    });

    constructor()

    ngOnInit()

}


查看完整回答
反对 回复 2022-01-13
  • 3 回答
  • 0 关注
  • 491 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号