mall-uniapp/sheep/components/s-menu-list/s-menu-list.vue

66 lines
1.4 KiB
Vue
Raw Normal View History

2022-11-22 07:45:36 +00:00
<template>
<view class="menu-list-wrap">
<uni-list :border="true">
<uni-list-item
v-for="(item, index) in data.list"
:key="index"
showArrow
clickable
@tap="sheep.$router.go(item.url)"
>
<template v-slot:header>
<view class="ss-flex ss-col-center">
<image
v-if="item.iconUrl"
2022-11-22 07:45:36 +00:00
class="list-icon"
:src="sheep.$url.cdn(item.iconUrl)"
2022-11-22 07:45:36 +00:00
mode="aspectFit"
></image>
<view
class="title-text ss-flex ss-row-center ss-col-center ss-m-l-20"
:style="[{ color: item.titleColor }]"
2022-11-22 07:45:36 +00:00
>
{{ item.title }}
2022-11-22 07:45:36 +00:00
</view>
</view>
</template>
<template v-slot:footer>
<view
class="notice-text ss-flex ss-row-center ss-col-center"
:style="[{ color: item.subtitleColor }]"
2022-11-22 07:45:36 +00:00
>
{{ item.subtitle }}
2022-11-22 07:45:36 +00:00
</view>
</template>
</uni-list-item>
</uni-list>
</view>
</template>
<script setup>
/**
* cell
*/
import sheep from '@/sheep';
const props = defineProps({
data: {
type: Object,
default: () => ({}),
},
});
</script>
<style lang="scss">
.list-icon {
width: 20px;
height: 20px;
}
.notice-text {
}
.menu-list-wrap {
::v-deep .uni-list {
background-color: transparent;
}
}
</style>