常见问题 级联禁用:选择任意一级选项能查看但是无法选中 首先设置设置 checkStrictly: true 让任意一级可以选中,然后隐藏掉radio标签。 // 设置popper-class的值为cascaderParent <el-cascader v-model="form.parentUuid" :options="optionsData" :props="{ expandTrigger: 'hover', checkStrictly: true}" placeholder="请选择" popper-class="cascaderParent" ></el-cascader> // css 样式 <style> /* 第一列不可被选择 *、* /* 注意:先找我们指定的类名为cascaderParent的面板 */ .cascaderParent .el-cascader-panel .el-scrollbar:first-child .el-radio { display: none; } /* 指定的第n列不可被选择 */ .cascaderParent .el-cascader-panel .el-scrollbar:nth-child(n+1) .el-radio { display: none; } </style> 选择任意一级的数据,并隐藏 radio 标签 第一种方法:实现思路是隐藏radio标签, 点击文字时自动选中radio标签。首先,需要设置 checkStrictly: true 让任意一级可以选中,然后节点展开的时候为文字 el-cascader-node__label 添加点击事件,自动选中radio标签。 // 设置popper-class的值为cascaderParent <el-cascader v-model="form.parentUuid" :options="optionsData" :props="{ expandTrigger: 'hover', checkStrictly: true}" placeholder="请选择" popper-class="cascaderParent" @expand-change="onExpandChange" /> //js methods:{ async onExpandChange() { await this.$nextTick(); // 需要等页面完全渲染好之后再进行事件绑定 document.querySelectorAll('.el-cascader-node__label').forEach(el => { el.onclick = function () { if (this.previousElementSibling) this.previousElementSibling.click() > } }) } } }, // css 样式 <style> /* 指定的第n列不可被选择 */ .cascaderParent .el-cascader-panel .el-scrollbar:nth-child(n+1) .el-radio { display: none; } </style> 第二种方法:纯css实现,使用css将小圆圈变透明然后覆盖在整个文字上方,点击文字的时候其实是在点击小圈圈。 <style> /*以下样式将单选框隐藏,并绝对定位与文字内容一样大小,这样点击时可以点击整行文字*/ .el-cascader-panel .el-radio{ position:absolute; z-index:10; padding:0 10px; width:132px; height:34px; line-height:34px; } .el-cascader-panel .el-radio__input{ visibility:hidden; } .el-cascader-panel .el-input-node__postfix{ top:10px; }