<!--
 * @Author: colpu ycg520520@qq.com
 * @Date: 2024-07-30 10:45:32
 * @LastEditors: colpu ycg520520@qq.com
 * @LastEditTime: 2024-07-30 10:45:57
 * @FilePath: components/placeholder.vue
 * @Description: 
-->
<template>
  <view class="colpu__placeholder-wrap" :style="styles">
    <view class="colpu__placeholder-img">
      <image :style="imageStyle" lazy-load="true" :src="src"></image>
    </view>
    <rich-text
      class="colpu__placeholder-desc"
      v-if="desc.length"
      :nodes="desc"
    ></rich-text>
    <view class="colpu__placeholder-slot" :style="`margin-bottom:${offset}`">
      <slot></slot>
    </view>
  </view>
</template>
<script setup>
defineProps({
  src: {
    type: String,
    default: "/static/svgs/noinfo.svg",
  },
  desc: {
    type: String,
    default: "空空如也!",
  },
  styles: {
    type: [Object, String],
    default: "",
  },
  imageStyle: {
    type: [Object, String],
    default: () => ({
      width: "96px",
      height: "96px",
    }),
  },
  offset: { type: String, default: "0" },
});
</script>
<script>
export default {
  options: {
    virtualHost: true,
  },
};
</script>
<style lang="scss" scoped>
$lead: '.colpu__';
#{$lead}placeholder {
  &-wrap {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex: 1;
    height: 100%;
  }
  &-img {
  }
  &-desc {
    display: inline-block;
    text-align: center;
    font-size: 24rpx;
    color: #ccc;
  }
  &-slot {
    display: inline-block;
  }
}
</style>