Как расширить «форму» с помощью Custom Elements v1 в Google Chrome?

Я попытался определить новый пользовательский элемент, расширяющий HTMLFormElement, например:

class PrintableFormElement extends HTMLFormElement {
  constructor() {
    super();
    console.log("created: ", this);
  }
  print() { console.log(this.elements)); }
}
customElements.define("printable-form", PrintableFormElement, { extends: "form" });

Это не работает правильно. <form is="printable-form" ...> не имеет метода print() (define(...) похоже не работает), а new PrintableFormElement не работает с ошибкой в ​​Google Chrome 55.

new PrintableFormElement выдал следующую ошибку:

Uncaught TypeError: Illegal constructor
    at PrintableFormElement (<anonymous>:3:5)
    at <anonymous>:1:1

Я понятия не имею, как определить расширение пользовательского элемента с помощью Custom Elements v1 в текущем Google Chrome.

Custom Elements v0 работает хорошо, но я хочу его использовать.


person k-ui    schedule 04.01.2017    source источник


Ответы (1)


Настраиваемые встроенные элементы «v1» еще не реализованы в Chrome, вы должны использовать полифилл.

Для получения более подробной информации см. также этот вопрос от SO:

person Supersharp    schedule 04.01.2017