acdr/ruoyi-vue-pro/yudao-ui/yudao-ui-mall-uniapp/sheep/components/s-hotzone-block/s-hotzone-block.vue

47 lines
910 B
Vue
Raw Normal View History

2024-09-02 07:40:26 +08:00
<!-- 装修图文组件热区 -->
<template>
<view class="hotzone-wrap">
<image :src="sheep.$url.cdn(data.imgUrl)" style="width: 100%" mode="widthFix"></image>
<view
class="hotzone-box"
v-for="(item, index) in data.list"
:key="index"
:style="[
{
top: `${item.top}px`,
left: `${item.left}px`,
width: `${item.width}px`,
height: `${item.height}px`,
},
]"
@tap.stop="sheep.$router.go(item.url)"
>
</view>
</view>
</template>
<script setup>
import sheep from '@/sheep';
// 接收参数
const props = defineProps({
data: {
type: Object,
default: () => ({}),
},
styles: {
type: Object,
default: () => ({}),
},
});
</script>
<style lang="scss" scoped>
.hotzone-wrap {
position: relative;
}
.hotzone-box {
position: absolute;
}
</style>