element cascader配置props.checkStrictly = true就可以使用选择任意一级选项
不过有的需求是直接点击文字部分就控制radio 选中整个节点,为此可以通过原生元素操作实现
点击任意节点文本选中节点
需在自定义节点中加入一行代码实现
<div @click="$event.srcElement.parentNode.previousElementSibling.click()">
{{ data.name }}</div>
<el-cascader
v-model="selectedNode"
ref="cascader"
placeholder="请选择任意节点"
:options="treeData"
:props="defaultPropsCatlog"
:show-all-levels="false"
@change="$refs.cascader.dropDownVisible=false"
filterable
>
<template slot-scope="{ node, data }">
<!--点击文本后选中整个节点-->
<div @click="$event.srcElement.parentNode.previousElementSibling.click()">
{{ data.name }}</div>
</template>
</el-cascader>
扩展功能选择后自动关闭
如果要在节点选中后自动关闭,在change事件加入代码:
@change="$refs.cascader.dropDownVisible=false"