@xuanmo/v-form
Version:
* 目前已经集成的组件(Address/Checkbox/DatePicker/Input/Radio/Select/Text/Switch/Upload) * 组件不满足的情况可自定义开发组件或者使用 `slot` 的形式 * 组件的调用方式采取 `JSON` 配置的形式,具体参数见model数据说明 * 校验规则已经集成 `VeeValidate` 插件,也可以自定义扩展规则,更多资料 [https://logaretm.github.io/vee-validate](https://logaretm
38 lines (30 loc) • 1.11 kB
JavaScript
import Base from './Base/index.vue'
import { extend } from './validator'
const VForm = {
/**
* 注册组件函数
* @param Vue
* @param {object} options 扩展参数
* @param {boolean} options.primaryData 组件配置项是否在 rules 字段下
* @param {object} options.validator 需要全局注册的自定义校验规则
* @param {number} options.debounceTime 防抖时间,单位:ms
* @param {array} options.addressJSON 地址选择器数据源,格式参考:https://github.com/D-xuanmo/v-form/blob/master/src/Address/data.json
*/
install (Vue, options = {}) {
Vue.component('VForm', Base)
const { debounceTime } = options
Vue.prototype.$VForm = {
...options,
debounceTime: debounceTime === undefined ? 200 : debounceTime
}
// 注册自定义校验规则
extend(options.validator)
}
}
// 对外暴露自定义校验规则方法
export { extend }
// 导出 form item 公用 mixin
export { default as vFormItemBaseMixin } from './mixins/formItemBase'
export * from './components/export'
export * from './utils'
export default VForm