2016-12-01 78 views
2

我,我用NG-隐藏和NG-秀展现一个不同的列时vm.allRecords设置为true尝试:如何隐藏ng-table列?

<table ng-table="vm.tableParams" ng-hide="vm.noRecords || vm.DashboardService.loading"> 
    <tr ng-repeat="record in $data"> 
     <td title="'Title'" sortable="'title'" class="title"> 
      <a ng-href="{{vm.baseUrl}}#entity/displayEntity?entityId={{record.entityId}}" target="_blank"> 
       {{record.title}} 
      </a> 
     </td> 
     <td title="'Date Created'" sortable="'createdDate'" class="date">{{record.createdDate}}</td> 
     <td title="'Last Modified'" sortable="'lastModified'" class="date">{{record.lastModified}}</td> 
     <td title="'Notebook Descriptor'" sortable="'notebookDescription[0]'" class="description"> 
      <ul> 
       <li ng-repeat="description in record.notebookDescription">{{description}}</li> 
      </ul> 
     </td> 
     <td title="'Witness'" sortable="'witnesses[0].display'" class="witness" ng-hide="vm.allRecords"> 
      <ul> 
       <li ng-repeat="witness in record.witnesses">{{witness.display}}</li> 
      </ul> 
     </td> 
     <td title="'Due Date'" sortable="'dueDate'" class="date" ng-hide="vm.allRecords">{{record.dueDate}}</td> 
     <td title="'Status'" sortable="'status'" class="status" ng-show="vm.allRecords">{{record.status}}</td> 
    </tr> 
</table> 

但头中的细胞不隐藏。我也尝试使用自定义th使用此:

<tr> 
    <th>Title</th> 
    <th>Date Created</th> 
    <th>Last Modified</th> 
    <th>Notebook Descriptor</th> 
    <th ng-hide="vm.allRecords">Witness</th> 
    <th ng-hide="vm.allRecords">Due Date</th> 
    <th ng-show="vm.allRecords">Status</th> 
</tr> 

它的工作,但我没有排序。我怎样才能隐藏列和排序?

+1

把jsfiddle放在一起。我认为你做的是相反的,这就是为什么它不工作 – yBrodsky

+1

@yBrodsky这里是小提琴https://jsfiddle.net/39wcrt02/ – jcubic

回答

2

我已经将ng-show/ng-hide更改为ng-if并且它可以工作。

+0

要完成答案,符合问题的最期望的选项将是ng-如果由于它专门隐藏了列,而ng-hide或ng-show不隐藏