【问题标题】:Dynamically table columns and rows [Angular 6 + Bootstrap 3]动态表列和行 [Angular 6 + Bootstrap 3]
【发布时间】:2018-10-11 00:23:36
【问题描述】:

我需要创建具有动态列和行的表。 我有一个对象数组,我需要在表格中显示它们。 但表格需要分 3 列显示。 例如:

        var listItems = [
        { name: 'name1', code: 'code1'},
        { name: 'name2', code: 'code2' },
        { name: 'name3', code: 'code3' },
        { name: 'name4', code: 'code4' }
    ];

表格看起来像:
[name |代码] [名称 |代码] [名称 |代码]
名称1 代码1 名称3 代码3 名称4 代码4
名称2代码2

什么是最好的解决方案?

【问题讨论】:

    标签: angular typescript twitter-bootstrap-3 angular6 bootstrap-grid


    【解决方案1】:

    如果数组中的项目是统一的,那么您可以遍历键。

    const list_items = [{name:'abc',code:'123'},{name:'def',code:'456'}];
    
    let keys = Object.keys(list_items[0]); // Get the column names
    <table>
      <thead>
        <th *ngFor = 'let key of keys'>{{key}}</th>
      <thead>
      <tbody>
        <tr *ngFor = 'let item of list_items'>
          <td *ngFor = 'let key of keys'>{{item[key]}}</td>
        </tr>
      </tbody>
    </table>

    【讨论】:

    • 谢谢,但我的问题是如何将此列表设置为 3 列的动态表?
    • @Wojciech 你所说的动态是什么意思?
    • 例如:当您有 2 个项目时 - 您只显示两列。当您有 8 个项目时,您会显示 3 列(3 行、3 行和 2 行)。对于 9 个项目将是 3 列(3 行、3 行、3 行),依此类推
    猜你喜欢
    • 2016-11-16
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    • 1970-01-01
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多