Vue3组件二次封装

目标:

封装my-input组件,继承a-input,额外加一些自己封装的内容,但是不影响a-input组件的插槽和属性

代码:

<template>
  <div>
    <a-input v-bind="attrs">
      <template v-for="(value, name) in slots" #[name] = "slotData">
        <slot :name="name" v-bind="slotData || {}"></slot>
      </template>
    </a-input>
  </div>
</template>

<script setup lang="ts">
    import { useAttrs, useSlots } from 'vue'
    const slots = useSlots()
    const attrs = useAttrs()
</script>

<style scoped lang="scss">

</style>

使用:

    <my-input size="large">
      <template #suffix>
        456
      </template>
    </my-input>

效果

image.png

vue2组件二次封装

https://www.jianshu.com/p/13602e143d6c

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容