可通过 props.multiple = true 来开启多选模式
<el-cascaderv-show="ifxianshi == 1 && paddinglaiyuan"ref="myCascader":options="options":props="{ multiple: true, checkStrictly: true }"clearablecollapse-tagsstyle="margin-bottom:20px;width:100%"@change="getCheckedNodes"></el-cascader>
声明变量:
value: [],
shareScopeEnd: [],
getCheckedNodes(val)// 是否与上次的类型相同let changeFlag = falselet changeItem = nullif (this.shareScopeEnd.length == 0) {this.value = val} else {// 与原数组比对this.value.forEach((item) => {if (item[0] !== this.shareScopeEnd[0][0]) {// 一级标签不同changeFlag = truechangeItem = item}else if ((!item[1] && this.shareScopeEnd[0][1]) || (item[1] && !this.shareScopeEnd[0][1])) {changeFlag = truechangeItem = item}})}if (changeFlag) {this.value = []this.value.push(changeItem)}function flatten(arr) {while(arr.some(item => Array.isArray(item))){//如果当前数组中还有数组,则展开arr=[].concat(...arr)}return arr}this.shareScopeEnd = this.valuethis.shareScopeEnd2 = flatten(this.value)console.log([...new Set(this.shareScopeEnd2)]);}