Я использую Typescript и пакет vue-tsx-helper для объявления универсального и vue-property-decorator для объявления реквизитов, моделей, методов emit и т. Д., Которые преобразуют классы в Vue Components. Следующий пример кода является объявлением моего компонента:
@Component({
name: 'ButtonElementMixin',
})
class ButtonElementMixin extends VueComponent<{
type?: availableButtonTypes,
state?: availableButtonStates,
}> {
@Prop() type: availableButtonTypes = BUTTON_TYPE_BUTTON;
@Prop() state ?: availableButtonStates;
}
Необходимо объединить декорации свойств vue с завершением TSX в IDE (WebStorm)
Это означает, что я должен объявлять типы дважды: в свойствах / методах и в общем.
Есть ли способ объявить тип в пространстве имен TSX (или где-то еще), что реквизиты в общем должны использоваться из реквизитов / методов и сократить использование первого пакета (vue-tsx-helper)?
К сожалению, я не так хорош в машинописи, чтобы решить эту проблему самостоятельно или найти ответ в сети.