问题: 在使用element的Cascader级联选择器选择任意一级选项模式时,需要实现第一列是固定的,不让选中其他可以选中
实现: 通过设置css样式来隐藏
// 设置popper-class的值为cascaderParent
<el-cascader v-model="form.parentUuid"
:options="optionsData"
clearable
filterable
:props="{ checkStrictly: true}" //设置为true,则可以使每一级都可以选中,如果不写默认是只能选择叶子节点
:disabled="isDisabled"
placeholder="请选择"
popper-class="cascaderParent" //必须设置当前的级联器的类名,以防止影响其他的级联器 style="width: 100%" >
</el-cascader>
// css 样式
<style>
//样式必须写在根文件中,如果使用less,不可以放在scoped中,否则不生效。
/ 第一列不可被选择
// 注意:先找我们指定的类名为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>
注意:对级联器设置样式:设置popperClass,就可以对里面的样式进行修改了
当用/deep/想像往常一样修改,会发现不生效,原因在于这个组件和div#app同级了,如果去掉scoped,是最简单的方法,当然,为了不影响全局我们当然不能这么做。设置popperClass,就可以对里面的样式进行修改了