鸿宇研学生前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

102 lines
2.1 KiB

<template>
<view class="recommend">
<view class="flex recommend-item" v-for="item in recommendList" :key="item.id" @click="onClick(item)">
<image class="img" :src="item.icon" mode="widthFix"></image>
<view>
<view class="label">{{ item.label }}</view>
<view :class="['desc', item.highlight ? 'highlight' : '']">{{ item.desc }}</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
recommendList: [],
}
},
created() {
this.getData()
},
methods: {
getData() {
// todo: fetch
this.recommendList = [
{
id: '001',
icon: '/static/image/temp-11.png',
label: '限时优惠',
desc: '速抢折扣',
highlight: true,
path: `/pages_order/product/search?isDiscount=1&title=限时优惠`,
},
{
id: '002',
icon: '/static/image/temp-12.png',
label: '口碑爆款',
desc: '热销推荐',
path: `/pages_order/product/search?isHot=1&title=口碑爆款`,
},
{
id: '003',
icon: '/static/image/temp-13.png',
label: '新上线路',
desc: '全新上线',
path: `/pages_order/product/search?isNew=1&title=新上线路`,
},
]
},
onClick(target) {
const { path } = target
if (path) {
uni.navigateTo({
url: path
})
}
},
},
}
</script>
<style scoped lang="scss">
.recommend {
display: grid;
grid-template-columns: repeat(3, 1fr);
column-gap: 12rpx;
&-item {
justify-content: flex-start;
column-gap: 8rpx;
padding: 16rpx;
box-sizing: border-box;
background: linear-gradient(to right, #FFF5EA, #FFFCF9 70%, #FFFCF9);
border-radius: 16rpx;
.img {
width: 56rpx;
height: auto;
}
.label {
font-size: 26rpx;
color: #181818;
}
.desc {
font-size: 22rpx;
color: #9B9B9B;
&.highlight {
color: #FF9035;
}
}
}
}
</style>