Я написал компонент "textarea" с множеством методов и логики.Кроме того, мне нужно поле ввода с почти такой же функциональностью, но с небольшими отличиями.Я не хочу поддерживать два компонента, которые имеют почти одинаковые тесты, почти одинаковые стили и почти одинаковые методы, которые привели бы к множеству дубликатов кода.
Сейчас я создал универсальный компонент "idb-введите "со свойством" type ", которое может быть" textarea "или" textfield "и используйте операторы if else, чтобы решить, какие методы разрешены для этого типа.Так как это немного грязно, я хотел бы иметь «базовый компонент» и наследовать его, например.Я уже пытался использовать универсальный класс машинописного текста, но я не могу использовать декораторы и намного больше ограничений.
Кроме того, этот подход не настолько чист в HTML:
<idb-input type="textarea">
<idb-input type="numberfield">
<idb-input type="inputfield">
Чтоправильный путь решения этой проблемы?