小编bha*_*ppa的帖子

角度材料2具有ng值访问器的自定义组件

我正在开发角度4.4 +材料beta12自定义组件,但无法弄清楚我的实现中出了什么问题

我正在尝试实现以下自定义输入
在此输入图像描述

任务:

  1. 将值设置为formControl,一旦我从服务器获取数据(data.productTeam是数据 - 可以在代码中看到)
  2. 在编辑时,应使用值更新formcontrol(例如:P12DT2H231M)

问题:

  1. 我无法将默认值绑定到formcontrol.
  2. 没有ngDefaultControl(表单控件的值访问器没有名称:'productTeam'错误发生)

dashboard.component.js

this.CRForm = this.fb.group({
      productTeam: [data.productTeam || '']
});
Run Code Online (Sandbox Code Playgroud)

在Dashboard.html中

<mat-form-field  floatPlaceholder="always" >
        <app-mat-custom-form-field #custref formControlName="productTeam" placeholder="P12D" ></app-mat-custom-form-field>
    <!--<app-mat-custom-form-field #custref formControlName="productTeam" placeholder="P12D" ngDefaultControl></app-mat-custom-form-field> -->
      </mat-form-field>
 {{custref.value}} -- gives value eg:[P12DT1H2M] and only if ngDefaultControl
 {{CRForm['controls']['productTeam']['value']}} --not giving any
Run Code Online (Sandbox Code Playgroud)

垫定制外形field.ts

import {
  Component,
  OnInit,
  OnDestroy,
  Input,
  HostBinding,
  Optional,
  Renderer2,
  Self,
  forwardRef,
  ElementRef
} from '@angular/core';
import {
  MatFormFieldControl
} from '@angular/material';
import {
  ControlValueAccessor,
  FormGroup,
  FormBuilder,
  NgControl,
  NG_VALUE_ACCESSOR
} from …
Run Code Online (Sandbox Code Playgroud)

angular-material2 angular angular4-forms

5
推荐指数
1
解决办法
2792
查看次数