【问题标题】:reactive forms radio button default value checked反应形式单选按钮默认值已选中
【发布时间】:2021-05-02 04:22:23
【问题描述】:

我希望单选按钮的默认值为checked。 我尝试了以下方法但没有成功。

  form: FormGroup;
  gifts: IGift;
  this.form = this.fb.group({
            phone: ['', [Validators.required, Validators.pattern('^[0][5][0-9]{8}$')]],
            email: ['', [CustomValidators.email]],
            k_gift: ['', [Validators.required, CustomValidators.gt(0)]],
        });

        this._giftService.getUserGifts()
            .subscribe(g => {
                this.gifts = g;
            },
            error => {
                if (error.includes("401")) {
                    localStorage.removeItem("token");
                    location.reload();
            })
 <input type="radio" [value]="gifts.k_gift" aria-checked="false" attr.id="gift{{gift.k_gift}}" formControlName="k_gift" >
                                    <label class='control-label' attr.for="gift{{gift.k_gift}}">
                                        {{gift.desc_k_gift}}
                                    </label>

插入gifts.k_gift 的值为1。我试过[value] = 1,也试过k_gift: [1, [Validators.required, CustomValidators.gt(0)]], 还尝试了 html 中的 checked input 标签。

没有一个对我有用。 如何将此单选按钮的默认设置为checked?

【问题讨论】:

    标签: html angular radio-button


    【解决方案1】:

    您正在使用模型驱动的表单。不要在模板中使用[value] 输入,而是相应地设置模型:

    this._giftService.getUserGifts()
        .subscribe(g => {
    // here
            this.gifts = g;
            this.form.patchValue({ k_gift: /* insert desired value */ });
        },
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-19
      • 2018-12-26
      • 1970-01-01
      • 2018-11-02
      • 1970-01-01
      • 1970-01-01
      • 2020-12-11
      • 2017-10-02
      相关资源
      最近更新 更多