Создание HTML-таблицы в Hyperscript из JSON

Я использую безголовую CMS, которая доставляет контент в JSON.

Я создал фиктивную таблицу, которая поступает во внешнем интерфейсе следующим образом:

{
   "_key":"65742741a4f6",
   "_type":"Table",
   "rows":[
      {
         "_key":"d8f5f21d-5aae-4ae2-a1b2-cdef6f71a4c9",
         "_type":"column",
         "cells":[
            "head1",
            "head2",
            "head3"
         ]
      },
      {
         "_key":"6967667c-3d70-4d57-b2ba-c4b163d1868b",
         "_type":"column",
         "cells":[
            "row1-1",
            "row1-2",
            "row1-3"
         ]
      },
      {
         "_key":"b4192fca-3224-4e15-9319-8568d83fdbca",
         "_type":"column",
         "cells":[
            "row2-1",
            "row2-2",
            "row2-3"
         ]
      }
   ]
}

Этот пакет используется для создания HTML-кода в формате JSON с помощью Hyperscript.

https://github.com/sanity-io/block-content-to-hyperscript

Мне удалось отобразить заголовок (хотя есть проблема), но я не могу понять, как сгенерировать тело. Я написал комментарий в коде того, что, по моему мнению, должно произойти. (приведенный выше JSON - это только соответствующая часть JSON - props.node)

Table: (props) =>
    h(
        'table',
        h(
            'thead',
            h(
                'tr',
                props.node.rows[0].cells.map(function (cell, i) {
                    return h('th', cell)
                }),
            ),
        ),
        /*
         * Filter nodes that are not 0 (header row)
         * cycle through and display them
         */
    ),

Ранее упомянутая проблема с используемым мной кодом: Nuxt выдаст сообщение об ошибке "Не удалось выполнить 'item' в 'HTMLCollection': требуется 1 аргумент, но присутствует только 0". Я думаю, это может быть проблема с самим Nuxt и генерацией статического контента, обновление избавит от него, но, очевидно, это неприемлемо для производства.

0 ответов

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