Files
im/pages/contact/contactAdd/ActionItem.vue
T

74 lines
1.1 KiB
Vue
Raw Normal View History

2025-11-07 09:56:20 +08:00
<template>
2025-11-25 05:36:02 +08:00
<view class="action_item" @click="onClick">
<slot name="icon">
<view class="action_icon">
<image :src="action.icon" mode=""></image>
</view>
</slot>
2025-11-07 09:56:20 +08:00
2025-11-25 05:36:02 +08:00
<view class="action_details">
<text class="title">{{ action.title }}</text>
<text class="desc">{{ action.desc }}</text>
<view class="bottom_line"></view>
</view>
</view>
2025-11-07 09:56:20 +08:00
</template>
<script>
2025-11-25 05:36:02 +08:00
export default {
name: "",
props: {
action: Object,
},
data() {
return {};
},
methods: {
onClick() {
this.$emit("click", this.action);
},
},
};
2025-11-07 09:56:20 +08:00
</script>
<style lang="scss" scoped>
2025-11-25 05:36:02 +08:00
.action_item {
@include vCenterBox();
padding: 24rpx 44rpx;
2025-11-07 09:56:20 +08:00
2025-11-25 05:36:02 +08:00
.action_icon {
width: 30px;
height: 30px;
2025-11-07 09:56:20 +08:00
2025-11-25 05:36:02 +08:00
image {
max-width: 100%;
max-height: 100%;
}
}
2025-11-07 09:56:20 +08:00
2025-11-25 05:36:02 +08:00
.action_details {
@include colBox(false);
margin-left: 48rpx;
width: 100%;
position: relative;
2025-11-07 09:56:20 +08:00
2025-11-25 05:36:02 +08:00
.title {
font-weight: 500;
padding-bottom: 12rpx;
}
2025-11-07 09:56:20 +08:00
2025-11-25 05:36:02 +08:00
.desc {
font-size: 24rpx;
color: #999;
}
2025-11-07 09:56:20 +08:00
2025-11-25 05:36:02 +08:00
.bottom_line {
height: 1px;
width: 100%;
background-color: #f0f0f0;
position: absolute;
bottom: -24rpx;
}
}
}
</style>