vue的props的validator能否验证关联值?

比如,props的value属性和multiple属性,想验证当multiple为true的时候,value必须为Array类型,这个能做到吗,或者有其他方法?

阅读 2.1k
4 个回答
props: {
  value: {
    validator: function (propValue) {
      if (this.multiple && !Array.isArray(propValue)) {
        console.error('When multiple is true, value must be an array');
        return false;
      } else {
        return true;
      }
    }
  },
  multiple: {
    type: Boolean,
    required: true
  }
}

可以在声明周期 created 写上验证,然后控制台打个错误就行

这个是不支持的,有人提过类似的issue,被关闭了

可以在 beforeCreatecreated处理或者容错,再就是从源头解决,将prop处理好之后再传入

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题