美文网首页
Vue 3 组件开发中设置 Props 默认值的技巧

Vue 3 组件开发中设置 Props 默认值的技巧

作者: lihao_李浩 | 来源:发表于2023-08-03 10:53 被阅读0次

引言

在 Vue 3 的组件开发中,合理地设置 Props 的默认值是一项重要任务。本文将介绍如何使用 definePropswithDefaults 来定义和设置 Props 默认值,为您提供便捷的方法。

步骤

步骤 1:使用 defineProps 定义 Props

首先,我们使用 defineProps 函数来定义组件的 Props。通过定义 Props,我们可以明确定义它们的类型和验证规则。

import { defineProps } from 'vue';

// 定义 Props 类型和接口
interface ListItem {
  name: string;
  time: string;
  content: {
    status: number;
    name: string;
  }[];
}

// 使用 defineProps 定义 Props
const props = defineProps<{
  listData?: ListItem[]; // listData 属性为可选的 ListItem 数组类型
}>();

在上述代码中,我们引入了 defineProps 函数,并使用它定义了一个 props 对象。我们指定了 listData 属性为可选的 ListItem 数组类型。

步骤 2:使用 withDefaults 设置默认值

接下来,我们使用 withDefaults 函数来设置默认值。这样,在没有传递相应的属性或者传递了未定义的属性时,组件将使用默认值。

import { defineProps, withDefaults } from 'vue';

// 定义 Props 类型和接口
interface ListItem {
  name: string;
  time: string;
  content: {
    status: number;
    name: string;
  }[];
}

// 使用 withDefaults 设置默认值
const props = withDefaults(
  defineProps<{
    listData?: ListItem[]; // listData 属性为可选的 ListItem 数组类型
  }>(),
  {
    listData: () => [], // 设置 listData 的默认值为空数组
  }
);

在上述代码中,我们使用 withDefaults 函数将 defineProps 的结果作为第一个参数,并为 listData 属性设置了默认值为一个返回空数组的函数。

步骤 3:访问 Props 默认值

通过定义和设置默认值后,我们可以在组件中访问 Props 的值,包括它们的默认值。

// 访问 listData 属性
console.log(props.listData); // 输出: []

listData 属性设置了默认值为空数组,因此输出结果是 []

结论

通过使用 definePropswithDefaults,您可以轻松地定义和设置 Vue 3 组件的 Props 默认值。这种技巧使得组件开发更加灵活和高效。

希望本文对您理解如何设置 Props 默认值有所帮助。如有任何疑问,请随时提出。

相关文章

  • Vue和ElementUi组件开发遇到的问题

    Vue和ElementUi组件开发遇到的问题 一、vue 1. props单向绑定 vue中的props是单向绑定...

  • vue-resource 配置

    使用全局配置设置默认值。 在 Vue 组件选项中设置默认值。 Webpack/Browserify 在 packa...

  • Vue3 踩坑记,持续更新

    props的.sync在vue3中被移除 vue2中写法:组件内部: 定义 props:{name: Strin...

  • temp

    vue中,根据屏幕不同设置子组件的高度,ref、$refs、props vue组件页面高度根据屏幕大小自适应 vu...

  • React的 Props传递

    使用 Props 默认 Props --有时候我们需要在子组件中设置个默认值,这时候需要用到defaultProp...

  • Vue组件通信—provide/inject

    vue 开发中组件通信可谓是非常常见的操作的,而组件通信最常用的肯定是 props,但是props 使用于父子组件...

  • Vue之间的通信方式

    Vue组件间通信方式 快速原型开发 可以快速识别.vue文件封装组件插件等功能 一.Props传递数据 在父组件中...

  • (VUE3) 四、组件传值(父子组件传值 & 祖孙组件传值 &v

    1.父子组件传值 vue2中的父子组件传值:父组件: 子组件: vue3中的父子组件传值: 还是用props接收父...

  • vue组件间通信

    vue组件间通信 1.父组件向子组件传递数据--props 在vue2.0中使用props实现向子组件传递数据: ...

  • vue 实现数据共享模式.

    vue 都是组件化的开发模式. 整个组件树中,组件和组件之间的关系如下图所示. 父子组件传值一般用 props &...

网友评论

      本文标题:Vue 3 组件开发中设置 Props 默认值的技巧

      本文链接:https://www.haomeiwen.com/subject/fydmpdtx.html