Почему трафарет версии 1+ удаляет атрибут типа из кнопки HTML?
Я недавно обновил версию ядра трафарета до последней версии, то есть 1.3.2
После обновления возникает странная проблема, в которой я не уверен, что это ошибка или предполагаемое поведение. Я прочитал журнал изменений, но не нашел ничего, связанного с проблемой
Stencil удаляет атрибут "type" из кнопок HTML в окончательном выводе, созданном из jsx внутри функции рендеринга. Это происходит только в том случае, если значение атрибута равно "submit". Оно остается неизменным, если значение равно "button".
JSX:
render() {
return (
<div class="dialog-footer">
<button class="ui button blue" disabled={false} type="submit">save</button>
</div>
);
}
После сборки:
render() {
return (h("div", { class: "dialog-footer" },
h("button", { class: "ui button blue", disabled: false, type: "submit" }, "save")));
}
Окончательный результат
<div class="dialog-footer">
<button class="ui button blue">Save Settings</button>
</div>
1 ответ
Похоже, это ошибка, из-за которой некоторые атрибуты не отображаются, в основном значения по умолчанию (например, <input type="text" />
).
В качестве обходного пути вы можете установить свойство вместо атрибута:
<button ref={el => el.type = 'submit'} />
Связанные вопросы: