利用ts文件为vue组件添加智能提示
warning:
这篇文章距离上次修改已过701天,其中的内容可能已经有所变动。
当在封装高阶组件时,不可避免的会屏蔽掉原来基础组件的各种提示,比如:props
, events
之类的。
此时可以用ts为其补充一下类型声明:
import Vue from 'vue';
import { Prop } from 'vue-property-decorator';
export declare class BusinessDataTable extends Vue {
@Prop() headers: any[];
@Prop() items: any[];
}
不知道是不是因为使用了class
写法,也只能用vue-property-decorator
提供的装饰器才能进行提示
hoc组件:
import { Vue, Component } from 'vue-property-decorator';
import { CreateElement, VNode } from 'vue';
import { VDataTable } from 'vuetify/lib/components';
@Component
export default class BusinessDataTable extends Vue {
render(createElement: CreateElement): VNode {
return createElement(VDataTable, {
props: {
disablePagination: true,
disableSort: true,
disableFiltering: true,
hideDefaultFooter: true,
...this.$attrs,
},
on: this.$listeners,
scopedSlots: this.$scopedSlots,
});
}
}
智能提示效果:
需要研究一下slot
怎么提示出来
评论已关闭