form-model源码解读关键问题
1.form的model属性怎么和form-model-item的v-model对应起来?
子组件通过inject注入父组件的model属性,子组件默认值通过父组件的model,配合form-item的prop属性设置
2.怎么判断slot环境?
通过this.$vnode.context
3.form组件的rules怎么在子组件上起作用?
子组件通过inject注入父组件的FormContext(form组件的this),然后获取对应的rules
4.校验是怎么起作用的?
form-item 的第一个子组件,被自动绑定blur和change函数,处理验证
5.怎么获取form-item的第一个子组件?
$scopedSlots.default() : $slots.default
6.怎么给form-item第一个子组件绑定事件?
第一个子组件是vnode, 给vnode加上on属性,onblur,onchange
7.怎么判断第一个子组件是vnode?
ele是 object类型,且有componentOptions,context属性,且tag不为空