Полимерный дом-повтор внутри 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 ответ

Как вы уже заметили, повторение здесь не сработает. Ваше единственное решение - написать функцию, которая затем возвращает ip в виде String.

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

Маленький совет железная таблица данных мертва, никто не поддерживает этот репо, лучше используйте vaadin-grid

Другие вопросы по тегам