|
@@ -3,6 +3,7 @@
|
|
|
<div v-for="(list, levelIndex) in treeList" :key="`select${levelIndex}`">
|
|
|
<!-- 单选级别 -->
|
|
|
<div v-if="levelIndex < props.multipleLevel">
|
|
|
+ <span class="mr-1" @click="clear(list, levelIndex)">不限</span>
|
|
|
<span v-for="(item, itemIndex) in list" :key="item.id">
|
|
|
<span
|
|
|
v-if="itemIndex + 1 <= num"
|
|
@@ -17,13 +18,13 @@
|
|
|
</div>
|
|
|
<!-- 多选级别 -->
|
|
|
<div v-else class="embedded">
|
|
|
- <span
|
|
|
+ <div
|
|
|
v-for="item in list" :key="item.id"
|
|
|
class="mx-3"
|
|
|
:class="{'act': calcAct(item.id, levelIndex)}"
|
|
|
style="line-height: 32px;"
|
|
|
@click="handleNext({ item, index: levelIndex })"
|
|
|
- >{{ item.name }}</span>
|
|
|
+ >{{ item.name }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -109,7 +110,7 @@ const getIdChecked = (item, levelIndex) => {
|
|
|
idChecked[levelIndex].push(item.id) // 添加
|
|
|
}
|
|
|
}
|
|
|
- idChecked.splice(levelIndex + 1, treeList.value.length) // 取消其下级数据
|
|
|
+ idChecked.splice(levelIndex + 1, idChecked.length) // 取消其下级数据
|
|
|
}
|
|
|
|
|
|
// 展开下一级
|
|
@@ -138,6 +139,12 @@ const calcAct = (id, levelIndex) => {
|
|
|
}
|
|
|
else return false
|
|
|
}
|
|
|
+// 不限
|
|
|
+const clear = (list, levelIndex) => {
|
|
|
+ treeList.value.splice(levelIndex + 1, treeList.value.length)
|
|
|
+ idChecked.splice(levelIndex, idChecked.length) // 清除本级选中及其下级选中
|
|
|
+ emits('checkedInput', idChecked)
|
|
|
+}
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
.text666 {
|
|
@@ -160,5 +167,15 @@ span {
|
|
|
padding: 4px;
|
|
|
background-color: #f8f8f8;
|
|
|
border-radius: 5px;
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ width: 100%; /* 设置容器宽度 */
|
|
|
+ div {
|
|
|
+ span { cursor: pointer; }
|
|
|
+ cursor: pointer;
|
|
|
+ &:hover {
|
|
|
+ color: var(--v-primary-lighten2);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|