本代码旨在创建交互式卡片列表,用于展示订单状态、跟踪和管理交付。它可用于各种电子商务、餐饮和物流应用中。
此代码实现了一个Vue.js组件,用于动态渲染卡片列表。每个卡片包含以下信息:
<template>
<div class="bg-gray-100">
<div class="max-w-7xl mx-auto py-6 sm:px-6 lg:px-8">
<div class="px-4 py-6 sm:px-0">
<div class="border-4 border-dashed border-gray-200 rounded-lg h-96"></div>
</div>
<div class="mt-8">
<div class="flow-root">
<ul role="list" class="-my-5 divide-y divide-gray-200">
<li class="py-5" v-for="item in listData" :key="item.name">
<div class="flex items-center space-x-4">
<div class="flex-shrink-0">
<img class="h-10 w-10 rounded-full" :src="item.image" alt="" />
</div>
<div class="flex-1 min-w-0">
<p class="text-sm font-medium text-gray-900 truncate">{{ item.name }}</p>
<p class="text-sm text-gray-500">{{ item.description }}</p>
<p class="text-sm font-medium text-gray-900">{{ item.price }}</p>
</div>
<div class="inline-flex items-center text-sm text-gray-500">
<a href="#" class="font-medium text-indigo-600 hover:text-indigo-500">{{ item.status }}</a>
<span class="ml-2">{{ item.type }}</span>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</template>
<script lang="tsx" setup>
import { ref } from 'vue'
const listData = ref([
{
name: 'Little Creatures - Club Street',
description: 'Mixed Vegetables, Chicken Egg',
price: 24,
status: 'Tracking',
type: 'Delivery'
},
// ...
])
</script>
<style>
// CSS styles
</style>
listData
:此ref变量存储了卡片列表的数据。v-for
:用于遍历listData
并动态渲染每个卡片。:key
:每个卡片的唯一键,用于Vue.js跟踪和更新列表项。CSS样式用于设置卡片的布局、字体和颜色。
status
和type
属性用于指示订单的状态和类型。
可以根据需要添加跟踪和管理功能,例如:
status
为“跟踪”的卡片上显示进度条或按钮。type
为“送货”的卡片上添加地图或跟踪号。此代码提供了一个可扩展的基础,可用于构建功能强大的交互式卡片列表。它可以根据不同的需求进行定制和扩展。