Covalent Dynamic Forms获取插入的数据

时间:2018-04-27 15:38:56

标签: angular angular-material2 teradata-covalent

我在使用Teradata Colvalent的Angular项目中使用动态表单,这是我向用户提出的数据:

public inputElements: ITdDynamicElementConfig[] = [
  {
    name: 'Risposta',
    label: 'Risposta alla domanda',
    type: TdDynamicElement.Input,
    required: true,
    default: this.selectedIntent.IntentDataRecord.Answer,
    flex: 100
  },
  {
    name: 'Descrizione',
    type: TdDynamicElement.Input,
    required: true,
    default: this.selectedIntent.IntentDataRecord.Description,
    flex: 100
  },
  {
    name: 'Esempi',
    type: TdDynamicElement.Input,
    required: true,
    default: this.selectedIntent.IntentDataRecord.Examples,
    flex: 50
  },
  {
    name: 'Suggerimenti',
    type: TdDynamicElement.Input,
    required: true,
    default: this.selectedIntent.IntentDataRecord.Hint,
    flex: 50
  }
];

在这里我将它用于HTML模板:

<td-dynamic-forms [elements]="this.inputElements">
      <ng-template let-element ngFor [ngForOf]="this.inputElements">
        <ng-template let-control="formControl" [tdDynamicFormsError]="element.name">
          <span *ngIf="control.touched || !control.pristine">
            <span *ngIf="control.hasError('minlength')">Min length value: {{element.minLength}}</span>
            <span *ngIf="control.hasError('maxlength')">Max length value: {{element.minLength}}</span>
          </span>
        </ng-template>
      </ng-template>
    </td-dynamic-forms>

有没有办法检索从用户插入的数据,以便我可以在我的组件中使用它(例如在单击按钮后)?

1 个答案:

答案 0 :(得分:0)

您可以参考document中显示的属性。它提到了 value property

  

值:任何

     

动态[FormGroup]的[value]的getter属性。

要从动态表单组件访问值,请使用 ViewChild ,如下面的组件类所示

@ViewChild(TdDynamicFormsComponent) formValues: TdDynamicFormsComponent;

现在,您可以使用 formValues.value 访问所有字段值,这将是一个JSON。