Почему трафарет версии 1+ удаляет атрибут type из кнопки HTML? - PullRequest
1 голос
/ 25 сентября 2019

Я недавно обновил версию ядра трафарета до последней версии, т.е. 1.3.2

После обновления возникает странная проблема, которая, я не уверен, является ошибкой или предполагаемым поведением.Я прочитал журнал изменений, но не смог найти ничего, связанного с проблемой

Трафарет удаляет атрибут "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 Ответ

1 голос
/ 26 сентября 2019

Кажется, что это ошибка, когда некоторые атрибуты не отображаются, в основном это значения по умолчанию (например, <input type="text" />).

В качестве обходного пути вы можете установить свойство вместо атрибута:

<button ref={el => el.type = 'submit'} />

Проблемы, связанные с данной:

...