vue3 <typescript> 数据类型封装

本文介绍了如何在Vue3项目中使用TypeScript定义数据类型,如IDialog接口和IItem类型,以及如何在父子组件间通过props传递弹框参数,实现更清晰的前端开发实践。
摘要由CSDN通过智能技术生成

前端开发会用到很多的弹框,子传父,父传子的一些方法,而vue3中typescript语法需要定义数据类型,把他们封装起来方便使用

第一步:创建interface.ts文件

第二步:将需要用到的参数用IDialog对象定义好

export interface IDialog {
  isAdd?: boolean;   // true 为新增 false 为编辑
  id?: number | string;
  url?: string;   // 请求地址
  visible: boolean;  //是否显示
  title: string;   //标题
  params?: Params;
}

export type Params = {
  [key: string]: any;
};


export interface IItem {
  type: string;
  id: number;
  dispFlag: string;
}

第三步:在<script lang="ts">中使用

  // 父组件-查看

  handleExamine(row) {
    this.dialog = {
      title: `你瞅啥`,
      visible: true,
      isAdd: false,
      id: row.id,
    };
  }
//子页面-弹框

<script lang="ts">
import { IDialog } from "@/types/interface";  //引入

@Component({
  name: "invoiceEdit",
  components: {},
})
export default class invoiceEdit extends Vue {
   @Prop({ type: Object, default: {} }) dialog!: IDialog; //弹框使用

  private form: any = {
    description: undefined,
    limitNum: undefined,
    maxStock: undefined,
    price: undefined,
    priceNum: undefined,
    priceName: undefined,
    ticketLevel: undefined,
    unsoldNum: undefined,
    status: undefined,
  };
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值