更新记录

1.0.2(2024-05-17)

添加插槽

1.0.1(2024-05-17)

更新文档

1.0.0(2024-05-17)

卡片列表下来刷新分页的页面,卡片位置为插槽暴露出去

查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.1.0 × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

card-list

props

参数名 类型 默认值 可选择值 描述
action (data : any) => Promise - - 必填
filters object {} - action搜索时带的搜索值
pageSize number 0 - 必填
noPage boolean false true 是否分页
frequency number 100 - 卡片动画每秒归为几张卡片

emits

方法名 参数 描述
refresh - 刷新
next - 下一页

slots

插槽名 参数 描述
card {data:any} 卡片
nullData 没有数据时
icon 加载的小图标

使用案例

<template>
    <view class="page">
        <searchHeader @search="search" v-model="searchParams"></searchHeader>
        <CardList v-bind="listConfig" class="list" ref="listRef">
            <template #card="{ data }">
                <PersonCard class="item" @click="goToOrderInfo(data)" :data="data"></PersonCard>
            </template>
        </CardList>
    </view>
</template>

<script setup lang="ts">
    import searchHeader from './components/searchHeader.vue'
    import CardList from '@/uni_modules/card-list/components/card-list/card-list.vue'
    import PersonCard from './components/orderCard.vue'

    import { computed, onMounted, ref, unref } from "vue";
    import { getList } from '@/api/requests/order';

    const searchParams = ref({
        searchKey: '',
        status: 'NORMAL',
        rangeTime: ""
    })

    const listRef = ref()
    const search = () => {
        listRef.value.refresh()
    }

    const listConfig = computed(() => {
        return {
            action: async (data) => {
                if (data.rangeTime?.length) {
                    data.startTime = data.rangeTime[0]
                    data.endTime = data.rangeTime[1]
                }
                const res = await getList(data)
                return res.data
            },
            filters: searchParams.value,
            pageSize: 20
        }
    })

    const goToOrderInfo = (data : any) => {
        uni.navigateTo({
            url: '/pages/order/orderInfo?order=' + JSON.stringify(data)
        })
    }
</script>

<style scoped lang="scss">
    .page {
        background: rgb(239, 239, 239);
        height: 100vh;
        width: 100vw;
        display: flex;
        justify-content: center;
        flex-direction: column;
align-items: center;
        .list {
            box-sizing: border-box;
            background-color: transparent;
            min-height: calc(100vh - 200rpx);
            // padding-bottom: 200rpx;
        }

        .item {
            background-color: #fff;
        }

    }
</style>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问