el-table中的嵌套el-tab-pane嵌套el-table 设置dataRules解决记录
嵌套关系如下:
el-table
|----el-tab-panel
|--------el-table
|------------el-table-column
按照网上别人的方法,设置dataRules,发现不行。如果把prop改成planMap,dataRules中也设置相应的rule,能校验了,但是不管输入啥,都是报错,还有这个字段名就是name,不可能改后端返回的字段把。
这里采用手动加上校验的方法。
先写一个span,调一下样式
自己写一个校验函数
在表单提交的时候也加上校验,如果检测到数据中有name字段为空,那么就置位nameValid,下面也不会通过,效果:
点击确认提交表单的时候,如果发现有没填的,会弹出:
方法2:
引入elementUI省略,自行查看文档。
html部分
<el-cascader placeholder="请选择地点" :props="adressProps" v-model="adressArray" />
js部分
data() { return { adressProps: { lazy: true, //可以理解为开关,什么时候结束 lazyLoad: this.cascaderLazyLoad, }, adressArray: null, province: '', city: '', } }, methods: { cascaderLazyLoad(node, resolve) { if (!node) { return false } const { level } = node //level代表当前点击选择哪一项,,比如0代表第一次进去加载数据,1是选择省后的操作 if (level == 1) { this.province = node.value //选择省后对数据进行存储,因为要用省去查询市 } else if (level == 2) { this.city = node.value //同上要去查询区 } let params = { province: this.province, city: this.city, } getAdress(params).then((res) => { //换成你的接口方法 if (res.code === '0') { resolve( res.data.map((val) => { return { value: val, label: val, leaf: level >= 2, //因为省市区三项,所以第三次点击就不用在加载了,所以 >=2 } }) ) } }) }, }