Создание 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 и генерацией статического контента, обновление избавит от него, но, очевидно, это неприемлемо для производства.