代码之家  ›  专栏  ›  技术社区  ›  user1592129

从模板内设置表单控件的值

  •  0
  • user1592129  · 技术社区  · 6 年前

    我有一个模板,它将发货方法显示为类似的单选按钮 运输方法是通过服务加载的。

    我想设置FormControl shipping_method 第一个选项的ID的值 我该怎么做?

    <div class="form-row" *ngIf="shippingMethods$ | async; let shippingMethods; ">
    
                <div class="form-group radio" *ngIf="shippingMethods.length > 0">    
                    <h2>Versandart:</h2>
                    <label *ngFor="let shippingMethod of shippingMethods; let idx = index" for="method-{{ shippingMethod.id }}">
                        <input formControlName="shipping_method" 
                                type="radio" 
                                value="{{ shippingMethod.id }}" 
                                id="method-{{ shippingMethod.id }}" 
                                [checked]="idx === 0">
                        <i class="checkbox"></i>
                        <span>{{ shippingMethod.label }}</span>
                    </label>
                </div>
            </div>
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Pierre Mallet    6 年前

    // after initialisation of your observable
    shippingMethods$.tap(methods => {
        // we use tap to not make a double subscription
        // group is your FormGroup
        if (!this.group.get('shipping_method').value) {
            this.group.get('shipping_method').setValue(methods[0].id);
        }
    });
    

    {{ myvar = value }} 
    

    here

    ngFor

    <span *ngIf="idx === 0 && !group.get('shipping_method').value">
        {{ group.get('shipping_method').setValue(shippingMethod.id)}}
    </span>
    

    FormGroup