我正在尝试将通用类型提供给vue组件,但不知道如何从调用方提供它。
例如,对于
下的组件export default class Toggle<T> extends Vue {
@Prop({ default: {} }) private payload!: T;
@Prop(Function) private handleCallback!: (payload: T) => Promise<any>;
}
当T
如下调用时,如何提供类型?
<toggle :payload="{propOfT: 'value of T'}" :handleCallback='someCallbackFn'/>
答案 0 :(得分:0)
也许您可以使用
extend<Data, Methods, Computed, Props>(options?: ThisTypedComponentOptionsWithRecordProps<V, Data, Methods, Computed, Props>): ExtendedVue<V, Data, Methods, Computed, Props>;
interface Data {
dataProp: boolean
}
interface Methods {
methodOne: (name: Type) => Promise<void>
}
interface Props {
items: Item[]
}
export default Vue.extend<Data, Methods, {}, Props>({ ...