如何包装primeng组件?

时间:2018-06-28 13:47:19

标签: angular angular6 components ngmodel

我正在尝试将PrimeNG组件(复选框)包装到自定义组件中。 PrimeNG复选框的一般用法如下:

<p-checkbox name="test" label="New York" value="ny" [(ngModel)]="selectedValues" ></app-checkbox>
<p-checkbox name="test" label="San Francisco" value="sf" [(ngModel)]="selectedValues" ></app-checkbox>
<p-checkbox name="test" label="San Jose" value="sj" [(ngModel)]="selectedValues" ></app-checkbox>
Selected values: {{selectedValues}}

最初传入的selectedValue是:

selectedValues = ['sj'];

因此,最后一个San Jose复选框是自动预选中的,当我尝试单击某些复选框时,该数组也会被更新:ngModel数组也被更新:
ngModel array is updated

问题是如何将这个primeng组件包装到自定义组件中以不破坏ngModel功能-是否存在一些优雅的方法来桥接仍在起作用的相同功能?

我在PrimeNG复选框源代码中看到它已经实现了ControlValueAccessor,所以我需要在我的自定义组件中实现相同的逻辑-这仅仅是实现ngModel的一种方法还是?因为看起来我的自定义组件中将有关于ControlValueAccessor的重复代码。

0 个答案:

没有答案