Входной каталог данных не работает в hyperscript

#javascript #html #virtual-dom #hyperscript

#javascript #HTML #virtual-dom #hyperscript

Вопрос:

Я использую следующую библиотеку:https://github.com/hyperhype/hyperscript

Следующий код:

 h('input', { list: "list-id"}),
h('datalist', { id: "list-id" }, [
    h('option', ["Option 1"]),
])`
  

приводит к:

 <input>
<datalist id="list-id">
    <option>Option 1</option>
</datalist>
  

У элемента input отсутствует свойство list, т. е. Он должен выглядеть как <input list="list-id">

Что я делаю не так?

Комментарии:

1. Обратите внимание, что hyperscript задает свойства для объекта элемента DOM, а не атрибуты для элемента HTML.

2. Хорошо, итак, что я делаю не так? list является допустимым свойством input объекта element.

3. Вы не делаете ничего неправильного . Я полагаю, вы решили использовать API, который не полностью поддерживает атрибуты HTML 5 и у которого буквально нет документации для поддержки вас (я полагаю, некоторые сочли бы этот выбор неправильным ). Рад, что у вас все получилось.

Ответ №1:

Мне удалось решить это с помощью:

 h('input', { attributes: { 'list': "list-id" } })
h('datalist', { id: "list-id" }, [
    h('option', ["Option 1"]),
])`
  

Комментарии:

1. Потрясающе. молодец. Основываясь на полном отсутствии документации, я полагаю, что это не конец ваших проблем. Удачи вам.

2. @RandyCasburn Да, до сих пор мне удавалось кое-что делать. Библиотека довольно маленькая и является частью virtual-dom one. Я пытаюсь реализовать The Elm Architecture с помощью ванильного Javascript , поскольку мне не нравится раздутие фреймворков, таких как React.