在很多应用程序中,用户需要从一组选项中选择自己的喜好。例如,在购物网站上,用户可以根据自己的喜好过滤产品列表。使用喜好选择器卡片,可以为用户提供一种简单直观的方式来选择他们的喜好。
这个 Vue.js 组件提供了一个喜好选择器卡片,允许用户从一组选项中选择他们的喜好。它具有以下功能:
<template>
<div class="bg-gray-900 h-screen flex flex-col items-center justify-center">
<div class="bg-white rounded-lg shadow-lg w-11/12 md:w-1/2 lg:w-1/3">
<div
class="flex justify-between items-center p-4 border-b border-gray-200"
>
<h1 class="text-xl font-semibold">What do you like?</h1>
<div class="flex items-center space-x-2">
<button class="text-sm font-medium text-gray-500">PREV</button>
<button class="text-sm font-medium text-indigo-500">NEXT</button>
</div>
</div>
<div class="p-4 space-y-4">
<!-- 选项列表 -->
<div v-for="like in likeList" :key="like.id" class="flex items-center space-x-4">
<div class="flex-shrink-0">
<img
class="w-10 h-10 rounded-full"
:src="`https://source.unsplash.com/random/100x100?${like.icon}`"
:alt="like.name"
/>
</div>
<div class="flex-1">
<h3 class="text-lg font-medium">{{ like.name }}</h3>
</div>
</div>
</div>
</div>
</div>
</template>
<script lang="tsx" setup>
import { ref } from 'vue'
const likeList = [
// 选项数据
]
const selectedLikes = ref([])
const handleSelectLike = (like) => {
// 处理喜好选择
}
</script>
开发这段代码的过程让我深入了解了 Vue.js 中响应式状态管理和事件处理。它还让我对如何创建可重用且可定制的组件有了更深入的理解。
未来,该卡片功能可以进一步扩展和优化,例如: