Angular 2多个自定义值访问器 [英] Angular 2 multiple custom value accessor
问题描述
我正在使用angular2创建一个应用程序.
I am creating an application using angular2.
我需要使用日历弹出窗口从用户输入中获取日期,但我需要在用户输入上放置一个掩码,以使其在输入时保持dd-mm-YYYY的格式.
I need to get a Date from user input using a calendar popover, but I need to put a mask on user input to stay in this format dd-mm-YYYY when he is typing.
我正在使用从网络 ng-bootstrap 和 angular2-text-mark 获得的两个不同的模块>
I am using two different modules that I got from web ng-bootstrap and angular2-text-mark
<input [textMask]="{mask: mask}" type="text" class="form-control" placeholder="yyyy-mm-dd"
name="dp" [(ngModel)]="date" ngbDatepicker #d="ngbDatepicker">
当我在同一标签上使用 textMask 和 ngbDatepicker 时,出现此错误
When I use textMask and ngbDatepicker on same tag I get this error
错误:多个自定义值访问器与具有未指定名称属性的表单控件匹配.
ERROR: More than one custom value accessor matches form control with unspecified name attribute.
有没有办法做这种事情?
Is there a way to do this kind of things ?
谢谢
推荐答案
直到今天还没有解决方案.
这是我仍然可以使用掩码输入和Ngb DATEPICKER的操作,
我已经创建了两个输入,一个带有掩码输入,另一个带有日期选择器.
每当值更改时,它们都会更新主对象(以前是ngModel
绑定.
It doesn't have a solution until today.
Here is what i've done to still be able to use a MASKED INPUT and a Ngb DATEPICKER,
I've created two inputs, one with the masked input, the other with the datepicker.
Whenever a value changes, they both update the main object (wich used to be the ngModel
bind.
这是代码.我希望它能对某人有所帮助.
Here is the code. I hope it helps someone.
<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>
这篇关于Angular 2多个自定义值访问器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!