vue3+TS实现简易组件库

vue3+TS搭建一个自己的组件库。

前置

首先下载vue-cli,搭建我们的环境,vue-create-luckyUi,选择vue3和TypeScript 。在src目录下创建package作为组件目录。再安装bootstrap,用bootstrap里面的样式来完成我们的组件。

组件编写
dropdown

首先查看boorstrap文档,是这样用的

<div class="dropdown"><button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-expanded="false">Dropdown button</button><div class="dropdown-menu" aria-labelledby="dropdownMenuButton"><a class="dropdown-item" href="#">Action</a><a class="dropdown-item" href="#">Another action</a><a class="dropdown-item" href="#">Something else here</a></div>
</div> 

首先那个button按钮就是我们dropdown按钮的内容,将这部分作为属性传入,而dropdown-menu的内容是作为dropdown-item的,明显这里不能固定写三个,这里就用插槽占位,再封装一个dropdown-item组件。

首先dropdown组件内容如下:

<template><div class="dropdown" ref="dropdownRef"><ahref="#"class="btn btn-outline-light my-2 dropdown-toggle"@click.prevent="toggleOpen">{
  { title }}</a><ul class="dropdown-menu" :style="{ display: 'block' }" v-if="isOpen"><slot></slot></ul></div>
</template> 

dropdown-item的内容就是:

<template><liclass="dropdown-option":class="{'is-disabled': disabled}"><slot></slot></li>
</template>

<script lang="ts"> import { defineComponent } from 'vue'
export default defineComponent({name: "DropdownItem",props: {disabled: {type: Boolean,default: false}}
}) </script>

<style> .dropdown-option.is-disabled * {color: #6c757d;pointer-events
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值