Angular2 - 从元素中删除disabled属性

时间:2017-08-16 23:30:09

标签: angular typescript angular-reactive-forms

我有一个使用名为ng-select的指令的表单,它增强了选择输入。在我的设置中,我允许用户进行一些选择,然后单击“过滤器”按钮。

单击此按钮后,我禁用输入。

HTML:

<div class="form-group">
   <div class="input-group">
      <ng-select #cc formControlName="costCenter" (removed)="updateChoices(cc.active, 'costCenter')" [allowClear]="true" [multiple]="true"
      [items]="getCostCenters()" placeholder="Select one or more Cost Centers">
      </ng-select>
      <span class="input-group-btn">
      <button #b_cc class="btn btn-sm btn-default" type="button" title="Update Filter" (click)="updateChoices(cc.active, 'costCenter', cc, b_cc)"><i class="fa fa-filter"></i></button>
      </span>
   </div>
</div>

组件功能

    /**
     * Upon selecting a data point, reload available options 
     * based on data selected.
     * 
     * @param formValues 
     * @param field 
     */
    updateChoices(formValues, field, selectInput, button): void {

        // Show the loading indicator
        this.showLoader = true;

        // Set and fetch data
        this.selectedFields[field] = formValues;
        this.getFields(this.selectedFields, false);

        // Disable our search field and filter button
        button.disabled = true;
        selectInput.disabled = true;

    }

您可以在组件中看到我禁用了他们点击的字段和按钮。

我现在正在尝试实施reset方法,我可以将所有字段重置为空,包括将它们切换为enabled

我尝试使用this.importForm.controls['costCenter'].enable();通过我的反应形式进行此操作,但没有做任何事情。

我在重置后检查了表单并将其设置回pristine而不是touched,因此我知道我的表单重置工作正常,但重新启用不是。

我也试图在表单重置方法中这样做:

this.importForm.reset({
  costCenter: {value:[], disabled:false},
});

我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

显然,解决方法是here

这对我有用

System.out.println(driver.findElement(By.xpath("//a[contains(@href,'example.com/es_es/spain/legal-notice')]")).getAttribute("href"));