nuxt+vue+vant --- SSR- h5 公共底部弹出层组件

3 篇文章 0 订阅
2 篇文章 0 订阅
这篇博客介绍了如何在Vue.js中基于vant组件库进行二次封装,创建一个可复用的底部弹出菜单组件。组件包含头部下划线配置及自定义点击事件,提供`popupHeader`和`popupSlot`插槽以定制内容。通过实例化并在页面中使用该公共组件,展示了其灵活性和高复用性。
摘要由CSDN通过智能技术生成

本博客是为了记录自己的组件,方便学习和使用,组件是在vant的基础上二次封装,之前还写了一个自己手写的弹出层公共组件,详情移步vue-cli 移动端底部弹出菜单动画效果

参数名类型说明
is_showpopupboolean是否显示弹层组件
isShowLineboolean是否显示头部下划线
slot说明
“popupHeader”头部左侧文字
“popupSlot”主题区域内容

事件
@fromPop 头部左侧文字点击事件


第一步:新建一个公共组件publicPop.vue
<template>
  <van-popup
    v-model="is_showpopup"
    round
    close-icon-position="top-right"
    position="bottom"
    :style="{ width: '100%' }"
  >
    <div class="pop_header" :style="{borderBottom: isShowLine == true ? '1px solid #d7e0e6' : 'none'}">
      <div @click="pop_confirm"><slot name="popupHeader"> </slot></div>
      <img
        @click="closePop"
        src="../../assets/image/common/popdelete@2x.png"
        alt="arrow"
      />
    </div>
    <slot name="popupSlot"> </slot>
  </van-popup>
</template>
<script>
export default {
  props: {
    isShowLine: {
      type: Boolean,
      default: true,
    },
  },
  data() {
    return {
      is_showpopup: false,
    };
  },
  methods: {
    closePop() {
      this.is_showpopup = false;
    },
    pop_confirm() {
      this.$emit("fromPop");
    },
  },
};
</script>

<style lang="scss" scoped>
.pop_header {
  height: 1.04rem;
  border-radius: 16px 16px 0px 0px;
  padding: 0px 0.24rem;
  @include flexBetween;
  div {
    @include font28;
    @include mainColor;
    font-weight: bold;
  }
  img {
    width: 0.48rem;
    height: 0.48rem;
  }
}
</style>
第二步:使用页面
    <publicPop ref="commonPop"  @fromPop="frompopheader">
      <div slot="popupHeader">我是头部左侧文字</div>
      <div slot="popupSlot">货币和国家</div>
    </publicPop>
<script>
import publicPop from "@/components/publicPoupop/index";
export default {
  components: {
    publicPop,
  },
}
</script>

结束语


二次封装的好处就是可以配置公共得头部按钮,文字,复用率比较高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值