vue amazing ui
1.0.0
Vue 令人惊叹的 UI
组件库使用[email protected]
+ [email protected]
+ [email protected]
+ [email protected]
实现。
目前包含63
基础UI组件和16
实用功能,还在不断探索和更新中……
更重要的是,它们都是可摇树的。
Vue Amazing UI 中的所有内容都是用 TypeScript 编写的。它可以与您的打字稿项目无缝配合。
所有组件均以单文件组件SFC
样式构建,可以独立使用。
开箱即用,无需大惊小怪。
pnpm add vue-amazing-ui# ornpm install vue-amazing-ui# oryarn add vue-amazing-ui# orbun add vue-amazing-ui
全局注册所有组件(不推荐)
没有摇树。捆绑包会有冗余代码。
从'vue'导入{createApp}从'./App.vue'导入应用程序从'vue-amazing-ui'导入VueAmazingUI导入'vue-amazing-ui/css'const app = createApp(App)app.use(VueAmazingUI )app.mount('#app')
全球部分注册
在这种形式下,只有导入的组件才会被捆绑。
导入 { createApp } from 'vue' import App from './App.vue'import { Button, Tag } from 'vue-amazing-ui'import 'vue-amazing-ui/es/button/Button.css'import ' vue-amazing-ui/es/tag/Tag.css'const app = createApp(App)app.use(Button).use(Tag)app.mount('#app')
本地注册
在这种形式下,只有导入的组件才会被捆绑。
<script setup lang="ts">导入 { Button, Tag } from 'vue-amazing-ui'import 'vue-amazing-ui/es/button/Button.css'import 'vue-amazing-ui/es/tag /Tag.css'</脚本> <模板> <按钮>按钮</按钮> <标签>标签</标签> </模板>
自动导入样式(推荐)
使用vite-plugin-style-import
插件可以按需自动导入组件样式。该插件会自动解析模板中使用的组件并导入其样式。
pnpm add vite-plugin-style-import -D# ornpm install vite-plugin-style-import -D# oryarn add vite-plugin-style-import -D# orbun add vite-plugin-style-import -D
// vite.config.tsimport { DefineConfig } from 'vite'import vue from '@vitejs/plugin-vue'import { createStyleImportPlugin } from 'vite-plugin-style-import' // 自动导入组件样式 import { VueAmazingUIStyleResolve } from ' vue-amazing-ui'// https://vitejs.dev/config/export 默认的defineConfig({ plugins: [vue(),// 按需导入组件库样式createStyleImportPlugin({resolvs:[VueAmazingUIStyleResolve() ]}) ]})
然后,无论您使用全局部分注册还是本地注册,都可以在代码中使用vue-amazing-ui
的所有组件,而无需手动导入组件样式。
全球部分注册
import { createApp } from 'vue' import App from './App.vue' import { Button, Tag } from 'vue-amazing-ui' const app = createApp(App)app.use(Button).use(Tag) app.mount('#app')
本地注册
<script setup lang="ts">从 'vue-amazing-ui' 导入 { Button, Tag }</script> <模板> <按钮>按钮</按钮> <标签>标签</标签> </模板>
自动按需导入(强烈推荐)
使用unplugin-vue-components
插件按需自动导入组件。插件会自动解析模板中使用的组件并导入组件和样式。
pnpm add unplugin-vue-components -D# ornpm install unplugin-vue-components -D# oryarn add unplugin-vue-components -D# orbun add unplugin-vue-components -D
// vite.config.tsimport { DefineConfig } from 'vite'import vue from '@vitejs/plugin-vue'import 组件 from 'unplugin-vue-components/vite'// vue-amazing-ui 按需 importimport { VueAmazingUIResolver } from 'vue-amazing-ui'// https://vitejs.dev/config/export 默认defineConfig({ 插件:[vue(),组件({解析器:[//从VueAmazingUIVueAmazingUIResolver()自动导入组件]}) ]})
然后,您可以在代码中直接使用vue-amazing-ui
中的所有组件。
<模板> <按钮>按钮</按钮> <标签>标签</标签> </模板>
所有类型都可以直接从vue-amazing-ui
导入使用,无需任何额外安装。
<script setup lang="ts">从 'vue-amazing-ui'const shape = ref<ButtonProps['shape']>('default') 导入类型 { ButtonProps }</script> <模板> <按钮:shape =“形状”>按钮</按钮> </模板>
<script setup lang="ts">从“vue-amazing-ui”导入{ dateFormat、formatNumber、rafTimeout、cancelRaf、throttle、debounce、add、downloadFile、toggleDark、useEventListener、useMutationObserver、useScroll、useFps、useMediaQuery、useResizeObserver、useSlotsExist} '</脚本>
获取项目代码
git 克隆 https://github.com/themusecatcher/vue-amazing-ui.git
安装依赖项
cd vue-amazing-ui PNPM我
运行项目
PNPM开发
我的CSDN博客
姓名 | 描述 | 姓名 | 描述 |
---|---|---|---|
警报 | 警告提示 | 阿凡达 | 阿头像 |
返回顶部 | 回到顶部 | 徽章 | 形式 |
面包屑 | 面包片 | 按钮 | 按钮 |
卡片 | 反应 | 轮播 | 轮播图 |
级联器 | 等级联选择 | 复选框 | 外观 |
坍塌 | 折叠面板 | 倒计时 | 倒计时 |
日期选择器 | 日期选择 | 描述 | 描述列表 |
对话 | 对话框 | 分频器 | 分割线 |
抽屉 | 保险箱 | 省略 | 文本简洁 |
空的 | 空状态 | 柔性 | 弹性布局 |
浮动按钮 | 浮动按钮 | 渐变文本 | 变形文字 |
网格 | 格子 | 图像 | 图片 |
输入 | 输入框 | 输入编号 | 数字输入框 |
输入搜索 | 搜索框 | 列表 | 列表 |
加载栏 | 加载条 | 信息 | 全局提示 |
莫代尔 | 模态框 | 通知 | 通知提醒 |
数字动画 | 数值动画 | 分页 | 分页 |
弹出确认 | 弹出确认 | 弹出窗口 | 摆动动作 |
进步 | 详细条 | 二维码 | 二维码 |
收音机 | 单选框 | 速度 | 评分 |
结果 | 结果 | 滚动条 | 滚动条 |
分段式 | 分区控制器 | 选择 | 选择器 |
骨骼 | 骨架屏 | 滑块 | 滑动输入条 |
空间 | 尺寸 | 旋转 | 加载中 |
统计 | 统计数值 | 步骤 | 步骤条 |
刷卡器 | 触摸滑动插件 | 转变 | 开关 |
桌子 | 表格 | 选项卡 | 标签页 |
标签 | 标签 | 文本区 | 文本域 |
文本滚动 | 文字滚动 | 时间轴 | 时间轴 |
工具提示 | 文字提示 | 上传 | 上传 |
视频 | 播放器 | 瀑布 | 流瀑布 |
水印 | 水印 |
姓名 | 描述 | 类型 |
---|---|---|
日期格式 | 格式化日期时间字符串函数 | (值:数字 | 字符串 | 日期 = Date.now(),格式:字符串 = 'YYYY-MM-DD HH:mm:ss') => 字符串 |
格式编号 | 数字格式化功能 | (值:数字 | 字符串,精度:数字 = 2,分隔符:字符串 = ',',小数点:字符串 = '.',前缀?:字符串,后缀?:字符串)=> 字符串 |
raf超时 | 使用requestAnimationFrame 实现setTimeout 或setInterval 的函数 | (fn: 函数,延迟:数字 = 0,间隔:布尔值 = false) => 对象 |
取消Raf | 取消rafTimeout 功能的函数 | (raf: { id: 数字 }) => void |
风门 | 油门功能 | (fn: 函数,延迟:数量 = 300) => 任意 |
去抖 | 去抖功能 | (fn: 函数,延迟:数量 = 300) => 任意 |
添加 | 消除 JavaScript 算术中精度问题的加法函数 | (num1: 数字,num2: 数字) => 数字 |
下载文件 | 下载具有自定义文件名的文件的功能;如果未提供名称,则会从 URL 中提取文件名 | (url: 字符串, 文件名?: 字符串) => void |
切换暗 | 切换暗模式的功能 | () => 无效 |
使用事件监听器 | 使用 Vue 生命周期挂钩添加和删除事件监听器的函数 | (目标:HTMLElement | 窗口 | 文档,事件:字符串,回调:函数)=> void |
使用MutationObserver | 使用MutationObserver 观察 DOM 元素变化的函数 | (目标:Ref | Ref[] | HTMLElement | HTMLElement[],回调:MutationCallback,选项 = {})=> 对象 |
使用滚动 | 实时监控目标元素的滚动位置和状态的功能 | (目标:Ref | HTMLElement | Window | Document = window,throttleDelay:number = 0,onScroll?:(e:Event)=> void,onStop?:(e:Event)=> void)=> object |
使用帧率 | 实时监控浏览器刷新率(FPS)的功能 | () => 对象 |
使用媒体查询 | 判断当前环境是否匹配指定媒体查询条件的函数 | (mediaQuery: 字符串) => 对象 |
使用ResizeObserver | 使用ResizeObserver 观察DOM元素尺寸变化的函数 | (目标:Ref | Ref[] | HTMLElement | HTMLElement[],回调:ResizeObserverCallback,选项 = {})=> 对象 |
使用槽位存在 | 监视给定名称的槽是否存在的函数,支持单个槽或槽数组 | (slotsName: string | string[] = 'default') => 反应式 |参考<布尔值> |