【问题标题】:No value accessor for form control with name: 'dateTime'名称为“dateTime”的表单控件没有值访问器
【发布时间】:2018-06-07 11:25:06
【问题描述】:

我正在尝试为日期时间选择器应用外部库。我收到如下错误:

ERROR Error: Uncaught (in promise): Error: No value accessor for form control with name: 'dateTimeDeparture'
Error: No value accessor for form control with name: 'dateTimeDeparture'

我的代码如下:

模板:

<owl-dateTime-input [(ngModel)]="flightDetails.dateTimeDeparture" name="dateTimeDeparture" [locale]="en" required></owl-dateTime-input>  

组件:

this.en = {
    firstDayOfWeek: 0,
    dayNames: ["Sunday", "Monday", "Tuesday","Wednesday", "Thursday", "Friday", "Saturday"],
    dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
    monthNames: [ "January","February","March","April","May","June","July","August","September","October","November","December" ],
    monthNamesShort: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun","Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ]
};

this.flightDetails = {
    dateTimeDeparture: new Date(2017, 8, 10, 13, 30, 30),
    dateTimeArrival: new Date(2017, 8, 10, 13, 30, 30)
};

【问题讨论】:

    标签: angular datetimepicker angular-reactive-forms angular4-forms


    【解决方案1】:

    外部库需要一个 ControlValueAccessor 才能使用角度形式。

    尝试像这样添加ngDefaultControl

    <owl-dateTime-input [(ngModel)]="flightDetails.dateTimeDeparture" name="dateTimeDeparture" [locale]="en" required formControlName="dateTimeDeparture" ngDefaultControl></owl-dateTime-input>
    

    <owl-dateTime-input [(ngModel)]="flightDetails.dateTimeDeparture" name="dateTimeDeparture" [locale]="en" required ngDefaultControl></owl-dateTime-input>
    

    看这里:

    What is ngDefaultControl in Angular?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-08
      • 2020-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多