记录vue的一些坑
vue组件中最外层最好要有层盒子
直接在组件最外层的盒子上写样式,可能会导致渲染出来没有这个盒子,谷歌查看结构的时候。加上一个普通盒子在外面就好了,没有这个盒子可能导致其他元素定位到body去了,如果你router-view没有写relative,如果元素高度100%你发现会超出,因为页面一般有header,body的100%肯定大于容器的100%。
定位也有缺点,缩放问题
定位太多容易出现滚动条,需要一层一层去找,哪个定位超出容器了,缩放容易挤到一团,可以使用rem,有些排版尽量使用普通布局,从上到下,横向居中用margin:auto很快,不一定比定位慢,也不会出现盒子重叠的问题。
element循环表单
this.rules2[item.fieldIdentifier] = [{ validator: (rule, value, callback)=>{this.validatorAll(rule, value, callback,item.type,item.validatorRules,item.validatorErrorText)}, trigger: 'change' }]
循环表单可以用这种方式添加字段的属性验证,验证规则类型、规则、错误提示由后台返回。
表单每个控件也由后台数据循环出来,每个表单绑定一个表单对象。问题是通过循环时的index去绑定不同的表单ref会获取不了所有表单,所以可以绑定同一个ref名,可以在ref数组中取到表单然后提交时校验。自定义校验规则里,每个判断if和else都要callback(),否则validate就会停住。