ng-ytl-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
46 lines (42 loc) • 1.44 kB
text/typescript
import { Component } from '@angular/core';
export class NzDemoCheckboxIndeterminateComponent {
allChecked = false;
indeterminate = true;
checkOptionsOne = [
{ label: 'Apple', value: 'Apple', checked: true },
{ label: 'Pear', value: 'Pear', checked: false },
{ label: 'Orange', value: 'Orange', checked: false },
];
updateAllChecked() {
this.indeterminate = false;
if (this.allChecked) {
this.checkOptionsOne.forEach(item => item.checked = true);
} else {
this.checkOptionsOne.forEach(item => item.checked = false);
}
}
updateSingleChecked() {
if (this.checkOptionsOne.every(item => item.checked === false)) {
this.allChecked = false;
this.indeterminate = false;
} else if (this.checkOptionsOne.every(item => item.checked === true)) {
this.allChecked = true;
this.indeterminate = false;
} else {
this.indeterminate = true;
}
}
}