66 lines
1.4 KiB
Vue
66 lines
1.4 KiB
Vue
|
<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.src"
|
||
|
class="list-icon"
|
||
|
:src="sheep.$url.cdn(item.src)"
|
||
|
mode="aspectFit"
|
||
|
></image>
|
||
|
<view
|
||
|
class="title-text ss-flex ss-row-center ss-col-center ss-m-l-20"
|
||
|
:style="[{ color: item.title.color }]"
|
||
|
>
|
||
|
{{ item.title.text }}
|
||
|
</view>
|
||
|
</view>
|
||
|
</template>
|
||
|
<template v-slot:footer>
|
||
|
<view
|
||
|
class="notice-text ss-flex ss-row-center ss-col-center"
|
||
|
:style="[{ color: item.tip.color }]"
|
||
|
>
|
||
|
{{ item.tip.text }}
|
||
|
</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>
|