Как создать несколько компонентов с небольшими отличиями? - PullRequest
0 голосов
/ 26 сентября 2019

Я написал компонент "textarea" с множеством методов и логики.Кроме того, мне нужно поле ввода с почти такой же функциональностью, но с небольшими отличиями.Я не хочу поддерживать два компонента, которые имеют почти одинаковые тесты, почти одинаковые стили и почти одинаковые методы, которые привели бы к множеству дубликатов кода.

Сейчас я создал универсальный компонент "idb-введите "со свойством" type ", которое может быть" textarea "или" textfield "и используйте операторы if else, чтобы решить, какие методы разрешены для этого типа.Так как это немного грязно, я хотел бы иметь «базовый компонент» и наследовать его, например.Я уже пытался использовать универсальный класс машинописного текста, но я не могу использовать декораторы и намного больше ограничений.

Кроме того, этот подход не настолько чист в HTML:

<idb-input type="textarea">
<idb-input type="numberfield">
<idb-input type="inputfield">

Чтоправильный путь решения этой проблемы?

...