2016-02-12 103 views
4

如何在 Material Design Data Table for Angular Material 中使用md-on-select中的單個項目選擇,並且複選框已隱藏?我想當我們選擇一個項目時,不再需要複選框,我想隱藏它們。當使用單個項目選擇時隱藏md-data-table中的複選框

行使用

<tr md-row md-select="item" md-on-select="onSelect" ng-repeat="item in items"></tr> 

ONSELECT方法:

$scope.onSelect = function (item, key) { 
    if($scope.selected.length >= 2) { 
    $scope.selected.shift(); 
    } 
} 

enter image description here

當我使用md-row-select="false"我失去能力選定項目交換實現

單項選擇選擇單行。

如何隱藏複選框並仍然選擇單行?

回答

1

您可以隱藏他們是這樣的:

md-checkbox .md-icon { 
    visibility: hidden; 
} 
+0

我問一下MD-數據表丹尼爾·納吉olmost一年前的作者,他給了我同樣的答案。我看到我沒有添加這個。 xD –

+0

酷!對不起,我遲到了,我碰到了同樣的問題。我的意思是它被隱藏了,但它仍然在顯示空間。我意識到如果我想隱藏它被佔用的空間,我不得不使用display:none來代替。 – Flash

1

前段時間我創建了它。

獲取git回購。

編輯文件:mdSelect,mdHead

隱藏行復選框:mdSelect

添加postLink功能裏面mdSelect和mdHead

function noCheckbox() { 
    if(attrs.mdNoCheckbox === 'true') { 
    return true; 
    }  
    return false; 
} 

,並用它mdSelect enableSelection內:

function enableSelection() { 
    if(!noCheckbox()){ 
    element.prepend(createCheckbox()); 
    } 

    if(autoSelect()) { 
    element.on('click', toggle); 
    } 
} 

內部mdHead attachCheckbox:

function attachCheckbox() { 
    ... 
    if(!noCheckbox()){  
    children.eq(children.length - 1).prepend(createCheckBox()); 
    } 
} 

,並添加參數範圍mdHead和mdSelect:noCheckbox: '@mdNoCheckbox'

編譯和它的工作原理與

<thead md-head md-no-checkbox ... 
<tr md-row md-no-checkbox ... 

<thead md-head md-no-checkbox="true" ... 
<tr md-row md-no-checkbox="false ... 

單列選擇通過:

if (vm.options.singleRowSelect) { 
     if (vm.selected.length >= 2) { 
     vm.selected.shift(); 
    } 
} 

本週末我會發送拉請求。

相關問題