解决 Vue props 校验依赖问题

实现某组件传入 prop 需要校验,该校验依赖于传入的其他 props

方案如下:

class Validator {
  constructor(min, max) {
    this.min = min
    this.max = max
  }

  validator(val) {
    return val <= this.max && (this.max - this.min) % val === 0
  }
}

const validator = new Validator()

export default {
  name: 'Home',
  props: {
    min: {
      default: 0,
      validator: val => {
        validator.min = val
        return typeof val === 'number'
      }
    },
    max: {
      default: 100,
      validator: val => {
        validator.max = val
        return typeof val === 'number'
      }
    },
    step: {
      type: Number,
      default: 1,
      validator: val => validator.validator(val)
    }
  }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容