在铁数据表中的聚合物dom-repeat

时间:2017-06-08 10:54:00

标签: data-binding polymer dom-repeat iron-data-table

所以,我有一个这样的数据:

data: {
  0: {
    id: 1
    name: Config1
    devices: {
      data: {
        0: {
          id: 1
          ip_address: 192.168.11.1
        },
        1: {
          id: 2
          ip_address: 192.168.11.2
        },
        ..
    },
  },
  1: {
    id: 2
    name: Config2
    devices: {
      data: {
        0: {
          id: 1
          ip_address: 192.168.11.3
        },
        1: {
          id: 2
          ip_address: 192.168.11.4
        },
        2: {
          id: 3
          ip_address: 192.168.11.5
        },
        ..
    },
  },
  ..
}

我想说我想在<iron-data-table>中显示它,我期待这样:

Config Name | IP Address
Config1 | 192.168.11.1 - 192.168.11.2
Config2 | 192.168.11.3 - 192.168.11.4 - 192.168.11.5

,这是当前代码:

<iron-ajax url="data" last-response="{{response}}" auto></iron-ajax>

<iron-data-table items="[[response.data]]">
  <data-table-column name="Config Name">
    <template>[[item.name]]</template>
  <data-table-column>

  <data-table-column name="IP Address">
    <template is="dom-repeat items="[[item.devices.data]]" as="dev">
      [[dev.ip_address]]
    </template>
  <data-table-column>

</iron-data-table>

问题是,不显示IP地址。 我需要使用类似<dom-repeat>的东西,因为每个配置的设备数量不同,例如id = 1有2个设备,id = 2有3个。

这个问题还有其他办法吗?

感谢您的关注和帮助。

1 个答案:

答案 0 :(得分:1)

正如您已经注意到dom-repeat在这里不起作用。您唯一的解决方案是编写一个函数,然后将ip返回为String。

<data-table-column name="IP Address">
   <template>[[_getIpAddresses(item)]]</template>
<data-table-column>

很少有建议铁数据表死了没有人维持这个回购更好地使用vaadin-grid