UNPKG

ng-ytl-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

46 lines (42 loc) 1.44 kB
import { Component } from '@angular/core'; @Component({ selector: 'nz-demo-checkbox-indeterminate', template: ` <div style="border-bottom: 1px solid rgb(233, 233, 233);"> <label nz-checkbox [(ngModel)]="allChecked" (ngModelChange)="updateAllChecked()" [nzIndeterminate]="indeterminate"> <span>Check all</span> </label> </div> <br> <nz-checkbox-group [(ngModel)]="checkOptionsOne" (ngModelChange)="updateSingleChecked()"></nz-checkbox-group> `, styles : [] }) 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; } } }