Browse Source

feat: 更新角色详情模态框,移除不必要的属性并优化事件处理

feat/character-card
npmrun 2 months ago
parent
commit
6ce5f90460
  1. 4
      app/components/character/CharacterDetailModal.vue
  2. 7
      app/pages/characters/[slug].vue
  3. BIN
      packages/drizzle-pkg/db.sqlite

4
app/components/character/CharacterDetailModal.vue

@ -12,7 +12,7 @@ interface CharacterDetail {
}
const show = defineModel<boolean>({ required: true });
const props = defineProps<{ card: CharacterDetail | null; showStart?: boolean }>();
defineProps<{ card: CharacterDetail | null }>();
const emit = defineEmits<{ start: [slug: string] }>();
</script>
@ -56,7 +56,7 @@ const emit = defineEmits<{ start: [slug: string] }>();
</div>
<button
v-if="props.showStart !== false && card.slug"
v-if="card.slug"
class="start-btn"
@click="emit('start', card.slug)"
>

7
app/pages/characters/[slug].vue

@ -131,6 +131,11 @@ function handleSwitchCard(slug: string) {
navigateTo(`/characters/${slug}`);
}
function handleDetailStart(slug: string) {
detailShow.value = false;
navigateTo(`/characters/${slug}`);
}
function onModelSelect(e: Event) {
const id = Number((e.target as HTMLSelectElement).value);
if (id) handleModelChange(id);
@ -305,7 +310,7 @@ onMounted(async () => {
</footer>
</main>
<CharacterDetailModal v-model:show="detailShow" :card="cardInfo" :show-start="false" />
<CharacterDetailModal v-model:show="detailShow" :card="cardInfo" @start="handleDetailStart" />
</div>
</template>

BIN
packages/drizzle-pkg/db.sqlite

Binary file not shown.
Loading…
Cancel
Save