首页 > 解决方案 > Vue 多类型 prop 验证

问题描述

如何在 Vue 中验证多类型 props?我有以下代码并将icon属性作为布尔值传递不会通过验证。

icon: {
  type: [String, Boolean],
  default: null,
  validator: value => ['start', 'end'].includes(value)
}

标签: vue.js

解决方案


您可以利用typeof关键字来确定参数的类型,然后决定是否通过。

icon: {
  type: [String, Boolean],
  default: null,
  validator: value => typeof value === 'string' 
                ? ['start', 'end'].includes(value) 
                : value // it will pass if value is true else not.
}

推荐阅读