0

필자는 문서를 확인했지만 운좋게도 원하는 곳까지 도달하지 못했습니다.angular2 재질에 md-checkbox 다중 선택이 있습니까?

나는 행의 테이블을 가지고 있습니다. 각 행에는 md-checkbox이 있으며 어느 것이 좋을지 선택할 수 있습니다. 하지만 그 사용자가 두 개의 선택된 확인란 사이에 여러 개의 확인란을 선택할 수 있어야한다는 기능을 제공하려고합니다. 예를 들어 상단 체크 박스를 선택하고 하단 체크 박스를 선택하면 그 사이의 모든 항목을 선택해야합니다. 이것은 gmail 다중 선택과 매우 유사합니다.

이런 식으로 뭔가.

angular2에서 md-checkbox과 가능한가요?

답변

1

내장 된 기능은 없지만 직접 할 수 있습니다. http://plnkr.co/edit/IiBJpv18zv656ZrTFxAn?p=preview

:

@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> 

나의 작업 데모를 참조하십시오