1.自定义组件ts
@Component({
selector: 'app-custom-tree',
templateUrl: './custom-tree.component.html',
styles: [],
providers: [{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => CustomTreeComponent),
multi: true
}]
})
export class CustomTreeComponent implements OnInit, ControlValueAccessor {
dataTrees: NzTreeNodeOptions[] = [];
@Output() selectTreechange = new EventEmitter<any>();
onChangeListener; // 改变值回调
onTouchedListener; // 交互回调
isDisabled: boolean;
_checkNode: string[];
checkKeys: string[];
constructor(private service: customService) { }
//#region 值双向绑定
writeValue(obj: any): void {
this.checkKeys = obj;//obj就是由调用此组件处的ngModel传入的值
}
registerOnChange(fn: any): void {
this.onChangeListener = fn; // 保存这个函数
}
registerOnTouched(fn: any): void {
this.onTouchedListener = fn; // 保存这个函数
}
setDisabledState?(isDisabled: