Vue3的props可以通过以下方式定义:

const MyComponent = {
  props: {
    // 基本类型检测 (`null` 意思是任何类型都可以)
    propA: String,
    // 多种类型
    propB: [String, Number],
    // 必传且是字符串
    propC: {
      type: String,
      required: true
    },
    // 数字,有默认值
    propD: {
      type: Number,
      default: 100
    },
    // 对象/数组的默认值应当由一个工厂函数返回
    propE: {
      type: Object,
      default: () => ({ message: 'hello' })
    },
    // 自定义验证函数
    propF: {
      validator: function (value) {
        // 这个值必须匹配下列字符串中的一个
        return ['success', 'warning', 'danger'].indexOf(value) !== -1
      }
    }
  },
  // ...
}

其中,props的每个属性都是一个对象,可以包括以下配置项:

  • type:指定props的类型,可以是 StringNumberBooleanArrayObjectDateFunctionSymbol 等。也可以是自定义的构造函数。
  • default:指定props的默认值。
  • required:指定props是否必须。
  • validator:指定一个自定义验证函数,用于验证props的值是否合法。

注意:在Vue3中,prop默认是不会在子组件中自动响应式更新的,如果需要自动响应式更新,可以使用v-modelemit事件来实现。

vue3的props怎么写

原文地址: https://www.cveoy.top/t/topic/E1K 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录