2016-02-12 107 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(); 
    } 
} 

本周末我会发送拉请求。

相关问题