Angular 2 多个自定义值访问器

Angular 2 multiple custom value accessor

我正在使用 angular2 创建一个应用程序。

我需要使用日历弹出窗口从用户输入中获取日期,但我需要在用户输入上放置一个掩码以在他输入时保持这种格式 dd-mm-YYYY。

我正在使用从网络 ng-bootstrap[ 获得的两个不同模块=25=]angular2-文本标记

<input [textMask]="{mask: mask}" type="text" class="form-control" placeholder="yyyy-mm-dd"
         name="dp" [(ngModel)]="date" ngbDatepicker #d="ngbDatepicker">

当我使用 textMaskngbDatepicker 在同一个标​​签上我得到这个错误

ERROR: More than one custom value accessor matches form control with unspecified name attribute.

有没有办法做这种事情?

谢谢

拉斐尔,我遇到了同样的问题,我的解决方案是将输入设置为只读,并允许用户仅使用日历选择日期。

<fieldset class="form-group">
  <label>End Date</label>
  <div class="input-group">
    <span class="input-group-addon" (click)="dpEndDate.toggle()">
      <i class="fa fa-calendar"></i>
    </span>
    <input readonly required [(ngModel)]="model.endDate" 
      type="text" class="form-control" id="endDate"
      name="endDate" ngbDatepicker #dpEndDate="ngbDatepicker">
  </div>
</fieldset>

我遇到了同样的问题。我使用了 "ngx-datepicker with mask"。我从输入中删除了 ngModel,它工作得非常好。

直到今天才找到解决办法。 这是我为仍然能够使用 MASKED INPUT 和 Ngb DATEPICKER 所做的工作, 我创建了两个输入,一个带有屏蔽输入,另一个带有日期选择器。 每当值发生变化时,它们都会更新主要对象(曾经是 ngModel 绑定。

这是代码。我希望它能帮助某人。

<div class="input-group">
  <input
    type="text"
    class="form-control form-control-sm"
    [(ngModel)]="begin_date"
    (change)="onDateInput($event.target.value)"
    placeholder="dd/mm/aaaa"
    [textMask]="{mask: maskedInput.date}"
  >
  <input
    type="hidden"
    (dateSelect)="onDateSelect($event)"
    [(ngModel)]="object.begin"
    ngbDatepicker
    #dI="ngbDatepicker"
  >
  <div class="input-group-addon">
    <button
      class="btn btn-outline-secondary btn-sm"
      (click)="dI.toggle()"
      type="button"
    >
      <i
        class="fa fa-calendar"
        aria-hidden="true"
      ></i>
    </button>
  </div>
</div>