Я пытаюсь обернуть компонент ng-select (https://github.com/ng-select/ng-select) пользовательским компонентом, я использую ControlValueAccessor с реактивной формой,
export class ShNgSelectComponent implements OnInit, OnChanges,
ControlValueAccessor {
@Input() shItems: Array<object>;
@Input() shBindValue: string;
@Input() shBindLabel: string;
@Input() shPlaceholder: any;
@Output() shChange = new EventEmitter<Object>();
ngOnInit() {
}
writeValue(value: any): void {
this.shItems = value || '';
}
propagateChange(event){
this.shChange.emit(event);
}
registerOnChange(fn) {
this.propagateChange = fn;
}
registerOnTouched() { }
}
вот шаблон для sh-ng-select
<ng-select [items]='shItems' [bindValue]='shBindValue' [placeholder]='shPlaceholder' [bindLabel]='shBindLabel' (change)='propagateChange($event)'></ng-select>
и вот основной компонент, в который я хочу встроить свой пользовательский компонент
<sh-ng-select [shItems]='manufactureList' [shFormGroup]='requestForm' (shChange)='getModels($event)' formControlName="manufactureId" [shPlaceholder]='"اختر الشركة المصنعة"' [shBindValue]='"id"' [shBindLabel]='"name"'></sh-ng-select>
событие shChange обычно запускается перед добавлением formControlName, но как только ясобытие не запускается, и консоль не выдает никакой ошибки ...... почему это?