老师,求助,运行报错,定位了好几天了,没有进展,麻烦指点一下。谢谢

来源:5-5 实战复杂表单控件(上)

maxtaooo

2017-12-11

http://img.mukewang.com/szimg/5a2e8cbe0001036514400900.jpg


<div [formGroup]="form" class="age-input">

  <div>

    <md-input-container>

      <input type="text" mdInput [mdDatepicker]="birthPicker" formControlName="birthday" placeholder="出生日期">

      <button mdSuffix [mdDatepickerToggle]="birthPicker" type="button"></button>

      <md-error>日期不正确</md-error>

    </md-input-container>

    <md-datepicker touchUi="true" #birthPicker></md-datepicker>

  </div>

  <ng-container fromGroupName="age">

    <div class="age-num">

      <md-input-container>

        <input type="number" placeholder="年龄" mdInput formControlName="ageNum">

      </md-input-container>

    </div>

      <div>

        <md-button-toggle-group formControlName="ageUnit" [(ngModel)]="selectedUnit">

          <md-button-toggle *ngFor="let unit of ageUnits" [value]="unit.value">

            {{unit.label}}

          </md-button-toggle>

        </md-button-toggle-group>

      </div>

      <md-error *ngIf="forg.get('age').hasError('ageInvalid')">年龄或者单位不正确</md-error>

  </ng-container>

</div> 


写回答

1回答

接灰的电子产品

2017-12-11

其实错误提示说的很清晰了,没有找到 `ageNum` 这个表单控件,你把这个控件放在了一个叫 `age` 的formgroup 中了,我猜你在 ts 中初始化时,没有按照下面这样初始化吧

this.form = this.fb.group({
birthday: [parse(initDate), this.validateDate],
age:  this.fb.group({// 注意,要使用 group 
ageNum: [initAge.age],
ageUnit: [initAge.unit]
}, {validator: this.validateAge('ageNum', 'ageUnit')})
})

0
5
接灰的电子产品
回复
maxtaooo
去 QQ 群问吧,这个估计得对比一下代码了,q 群里面有完成的代码
2017-12-14
共5条回复

Angular打造企业级协作平台,让你在Angular领域中出类拔萃

全网首个介绍官方 Material 组件库用法与 Redux 在 Angular 中的应用

998 学习 · 536 问题

查看课程