Можно, но не со всеми типами. Зависит от того через какой биндинг получается значение. Если например через bind:value то тип можно задавать динамически
Сперва тоже немного напрягался по этому поводу, но потом понял что это в том числе позволяет не страдать херней и не писать супер-универсальный компонент на инпуты и чекбоксы, например. Из этого редко получается что-то хорошее. В итоге вполне себе отлично реализуется 3-4 довольно универсальных компонента