Типизированный класс Typescript из его свойств в Vue (с JSX) - PullRequest
0 голосов
/ 19 июня 2019

Я использую 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)

example usage

Это означает, что я должен объявлять типы дважды: в свойствах / методах и в общем.

Есть ли способ объявить тип в пространстве имен TSX (или где-то еще), что реквизиты в общем должны использоваться из реквизитов / методов и сократить использование первого пакета (vue-tsx-helper)?

К сожалению, я не так хорош в машинописи, чтобы решить эту проблему самостоятельно или найти ответ в сети.

...