javascript - 以 Angular 切换表格行数

标签 javascript angular ngfor

考虑有 35 行,默认情况下您必须显示 10 行,单击切换后它将显示 35 行,反之亦然。

现在我就是这样的

使用 bool 值 isCardOpen 切换行数默认为 false

<tr *ngFor="let item of total_items;let i = index">
    <ng-container *ngIf="!isCardOpen; else showFullList">
       <ng-container *ngIf="i<10">
           <td> My table data comes here </td>
        </ng-container>
    <ng-container>
    <ng-template #showFullList>
       <td> My table data again comes here but without if condition</td>
    <ng-template>
</tr>

我能够得到我想要的输出,但是还有其他方法吗,我的意思是我有两次相同的表数据,即在 showFullList 中模板和内部*ngIf="i<10" .

最佳答案

您可以将 ngIf 更改为 *ngIf="i < 10 || isCardOpen" ,所以当 isCardOpen = false ,仅显示前十项。如果isCardOpen = true ,然后显示所有项目(无论索引如何)。

<tr *ngFor="let item of total_items; let i = index">
    <ng-container *ngIf="i < 10 || isCardOpen"></ng-container>
</tr>
<小时/>

作为替代方案,您可以向每个项目添加一个属性,并使用 ngIf 将该项目的属性切换为渲染/取消渲染。

<tr *ngFor="let item of total_items">
    <ng-container *ngIf="item.isOpen"></ng-container>
</tr>

关于javascript - 以 Angular 切换表格行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47979609/

相关文章:

Angular 2 使用 Promise 更新 ngFor 内的值未显示正确的值

angular - *ngFor对象比较使用 '==='

javascript - 使用 Javascript 重定向并设置请求属性

javascript - 如何在下拉菜单中定位我的 h2 标题

angular - 火力基地/火力商店 : create and store unique id for documents (users for USERID)

angular - 使用 *ngFor 自定义模板渲染

javascript - 使用 AngularJS 进行 XML 显示的双向绑定(bind)以形成字段

javascript - 如何验证 JavaScript 代码在 C# 中是否有效

javascript - 从列表数组中删除元素的最佳解决方案

angular - sockjs 节点/信息? 404(未找到)