改进 选择提示

This commit is contained in:
ivamp 2023-12-06 22:54:47 +08:00
parent 950943838a
commit 0649a582b7

View File

@ -2,27 +2,33 @@
<v-container v-if="libraries.Data">
<h1>资料库</h1>
{{ selected_ids }}
<v-card>
<v-list>
<v-list-item
v-for="item in libraries.Data"
:key="item.ID"
@click="goto(item.ID)"
@click.stop="goto(item.ID)"
>
<v-list-item-title>{{ item.Name }}</v-list-item-title>
<template v-slot:prepend="{ isActive }">
<v-list-item-action start>
<v-checkbox-btn
:model-value="isSelected(item.ID)"
@click.stop="toggleSelection(item.ID)"
></v-checkbox-btn>
</v-list-item-action>
</template>
<v-list-item-action v-slots:append>
<v-btn rounded="xl" @click.prevent="goto(0)">
<template v-slot:append="{ isActive }">
<v-list-item-action end>
<v-btn rounded="xl" @click.stop="console.log(isActive)">
<v-icon>mdi-check</v-icon>
</v-btn>
</v-list-item-action>
<!-- <template v-slot:append="{ isActive }" @click.prevent>
<v-list-item-action v-slots:append>
<v-btn rounded="xl" @click.prevent="goto(0)">
<v-icon>mdi-check</v-icon>
</v-btn>
</v-list-item-action>
</template> -->
</template>
<v-list-item-title>{{ item.Name }}</v-list-item-title>
</v-list-item>
</v-list>
</v-card>
@ -47,6 +53,7 @@
<script setup>
import { library } from "@/plugins/api";
import { watch } from "vue";
import { ref } from "vue";
const page = ref(1);
@ -64,4 +71,22 @@ load();
const goto = (libraryId) => {
console.log(libraryId);
};
const selected_ids = ref([]);
function isSelected(id) {
return this.selected_ids.includes(id);
}
function toggleSelection(id) {
const index = this.selected_ids.indexOf(id);
if (index !== -1) {
//
this.selected_ids.splice(index, 1);
} else {
//
this.selected_ids.push(id);
}
}
</script>