沒有內置的支持,但你可以自己動手。
@ViewChildren(MdCheckbox) checkboxes;
private _lastSelected;
private cbClick(index: number, event: any) {
if (this._lastSelected >= 0 && event.shiftKey) {
let cbs = this.checkboxes.toArray();
if (cbs[this._lastSelected].checked) {
let firstIndex = index >= this._lastSelected ? this._lastSelected : index;
let lastIndex = index >= this._lastSelected ? index : this._lastSelected;
cbs.slice(firstIndex, lastIndex + 1).forEach(c => c.checked = true);
}
}
this._lastSelected = index;
}
<div *ngFor="let o of options; let idx = index">
<br />
<md-checkbox (click)="cbClick(idx, $event)">{{ o }}</md-checkbox>
</div>
見我的工作演示:http://plnkr.co/edit/IiBJpv18zv656ZrTFxAn?p=preview