大前端,这可能是最走心的Vue3组件库——Naive UI
chenpack 2025-01-02 15:10 289 浏览 0 评论
介绍
Naive UI是一个基于Typescript开发的针对Vue3开发的UI组件库,由TuSimple(图森未来)公司开发并开源,下面是组件文档针对Naive UI的一句话描述:
一个 Vue 3 组件库 比较完整,主题可调,使用 TypeScript,不算太慢 有点意思!
Naive UI的一些特点
- 组件完整
组件库相对完整,有大约70个组件,能帮你节省不少时间。
它们全都可以 treeshaking。
- 主题可调
它提供了一个使用 TypeScript 构建的先进的类型安全主题系统。只需要提供一个样式覆盖的对象,即可完成主题的配置。
不用 less、sass、css 变量,也不用 webpack 的 loaders。而且在文档右下角提供了即时的主题编辑器可以快速的构建自己的主题
- 使用 TypeScript
Naive UI 全量使用 TypeScript 编写,和你的 TypeScript 项目无缝衔接。
不需要导入任何 CSS 就能让组件正常工作。
- 性能优化
select、tree、transfer、table、cascader 都可以用虚拟列表。
- 开源协议
基于MIT的开源协议
安装
naive-ui 仅支持 Vue3。如果你在使用 Vue2,可以去看看别的库。
npm i -D naive-ui
npm i -D vfonts
兼容性
- 浏览器
不支持 IE 浏览器,懂得都懂
Edge、Firefox、Chrome、Safari 等现代浏览器的最新的 2 个版本确保会被支持。
- Vue
只支持 Vue 3(>3.0.5)。
- TypeScript
需要版本 > 4.1。
使用
- 推荐用法(Tree Shaking)
可以直接导入组件并使用它。这种情况下,只有导入的组件才会被打包。
<template>
<n-button>naive-ui</n-button>
</template>
<script>
import { NButton } from 'naive-ui'
export default {
components: {
NButton
}
}
</script>
//如果你可以使用 setup script,你可以用下面的方式使用组件。
<template>
<n-button>naive-ui</n-button>
</template>
<script setup>
import { NButton } from 'naive-ui'
</script>
启用 JSX & TSX
关于启用 JSX 和 TSX,请参考你使用的工具链的相关文档。
- 使用组件
在 JSX 中,推荐以直接引入的形式使用组件。
import { defineComponent } from 'vue'
import { NButton } from 'naive-ui'
export default defineComponent({
render () {
return <NButton>{{ default: () => 'Star Kirby' }}</NButton>
}
})
包括的组件
通用组件 (19)
头像 Avatar
按钮 Button
卡片 Card
折叠面板 Collapse
分割线 Divider
下拉菜单 Dropdown
文本省略 Ellipsis
渐变文字 Gradient Text
图标 Icon
页头 PageHeader
标签 Tag
排印 Typography
数据录入组件 (19)
自动填充 Auto Complete
级联选择 Cascader
颜色选择器 Color Picker
复选框 Checkbox
日期选择器 Date Picker
动态录入 Dynamic Input
动态标签 Dynamic Tags
表单 Form
文本输入 Input
数字输入 Input Number
提及 Mention
单选 Radio
评分 Rate
选择器 Select
滑动选择 Slider
开关 Switch
时间选择器 Time Picker
穿梭框 Transfer
上传 Upload
数据展示组件 (14)
日历 Calendar
代码 Code
数据表格 Data Table
描述 Descriptions
无内容 Empty
图像 Image
列表 List
日志 Log
统计数据 Statistic
表格 Table
东西 Thing
时间 Time
时间线 Timeline
树 Tree
导航组件 (9)
固钉 Affix
侧边导航 Anchor
回到顶部 Back Top
面包屑 Breadcrumb
加载条 Loading Bar
菜单 Menu
分页 Pagination
步骤 Steps
标签页 Tabs
反馈组件 (15)
警告信息 Alert
标记 Badge
对话框 Dialog
抽屉 Drawer
信息 Message
模态框 Modal
通知 Notification
弹出确认 Popconfirm
弹出信息 Popover
弹出选择 Popselect
进度 Progress
结果页 Result
骨架屏 Skeleton
加载 Spin
弹出提示 Tooltip
布局组件 (3)
布局 Layout
栅格 Grid
间距 Space
配置组件 (3)
全局化配置 Config Provider
元素 Element
全局样式 Global Style
部分组件预览
由于组件比较多,以下只是截取部分截图,详细地使用和风格可以到官方文档查看
总结
Naive UI是一个值得推荐使用的Vue组件库,从项目的走心程度来看,Naive UI绝不会是一个差劲的作品,相反它很优秀!文档中有一个叫做thing(东西)的组件很有意思,如下:
- 上一篇:Vue3 组件
- 下一篇:超优秀 Vue3.js 桌面UI组件库Lew-UI
相关推荐
- javascript获取屏幕宽度的方法
-
js如何获取屏幕、窗口和网页的大小平时对于各种尺寸总是搞不清楚,比如屏幕、窗口、网页的尺寸大小,这些大小是如何定义的,下来将详细介绍它们的不同之处。主要有以下几种尺寸:1.屏幕屏幕尺寸屏幕尺寸是屏...
- 十分钟学会AI视频换脸技术(附:幻颜ai换脸系统软件 原云龙AI)
-
“空有4个徒手换脸教程,无瑕出!”自打岁之后,我在化妆上最较劲的一个点就是:怎么能不动??就换头。毕竟已经不是随便打个底就能出门的年纪了,各种憔悴、疲态全都在脸上大喊“冲冲冲”!最近我也是在「面部平整...
- Iconfont 还是不能上传,如何维护你的 Icon?
-
阿里巴巴矢量图标库iconfont的使用方法xx-blog主题使用的图标库是阿里巴巴的iconfont,因此这里介绍一下此主题库的用法。首先去iconfont主题库,注册一个账号,然后就可以找自己...
- 中级职称的三个档怎么进 2024年职称晋升废止
-
年最新!中级职称评审条件已公布!职称证书可以说是工程师在行业里升职加薪的重要凭证了,而中级职称更是很多工程师的首选,因为它比助理级职称含金量更高,但是又比高级职称评审简单,而且拥有中级职称的头衔是很有...
- python调用auto_Python调用deepseek
-
详解:用Python+AutoIt实现界面工具开发过程前言:今天为大家带来的内容是,详解:Python+AutoIt实现界面工具开发过程!(部分代码用图片方式呈现出来,方便各位观看与收藏)AutoIt...
- 国内威客网站_国内主要的威客网站有哪些
-
程序员个接私活平台.前言关于程序员接私活,社会各界说法不一。按照作者的观点来说如果你确实急用钱,价格又合适,那就去做。如果不怎么缺钱,那就接私活之前要好好考虑。私活的钱不好挣是一个方面,更重要的是...
- Linux常用命令简述--dirname与basename
-
Linuxdirname命令用发dirname是一个UNIX/Linux常用命令,接受一个Linux绝对路径名或相对路径名作为输入参数,输出其上一级目录的路径。dirname命令的语法如下...
- 微信监控大师苹果版 微信监控系统app
-
推荐监控微信聊天记录软件 微信监测是目前企业非常需要的系统。在微信营销时代,职员们利用微信营销过程,遇到顾客约定、虐待顾客、消极怠工、生产力下降、恶意删除朋友、删除聊天等各种问题,所以推荐这里的红鹰工...
- Modbus通信协议_MODBUS通信协议
-
页PPT带您详细了解MODBUS协议,解释得很详细免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!转发是最大的鼓励!谢谢您的支持!小贴士进阶全家桶:含有经典本...
- android手机怎么判断是root_如何判断手机root了吗
-
什么是安卓ROOT权限?安卓手机新人必看 对于刚入手Android系统手机的机友来说,一定会接触到一个新词“ROOT”,他的出现频率很高,在各个论坛上,网友的字里行间经常会出现,那么ROOT权限是什...
- Java计算除法 java除法语句_java中除法怎么实现
-
吊打面试官(四)--Java语法基础运算符一文全掌握简介本文介绍了Java运算符相关知识,包含运算规则,运算符使用经验,特殊运算符注意事项等,全文字。熟悉了这些内容,在运算符这块就可以吊打面试官了。J...
- 欧盟Emark认证是什么?(欧盟eu认证)
-
什么是E-Mark认证E-Mark也就是欧洲共同市场,对汽机车及其安全零配件产品,噪音及废气等,均需依照欧盟法令【EECDirectives】与欧洲经济委员会法规【ECERegulatio...
- 2020人工智能科技夏令营,开启人工智能未来
-
开营啦!年“人工智能”夏令营来了!点击上面“蓝字”关注,名山区广播电视台科技更迭、社会进步如何让孩子们第一时间接触智能时代学习最新的人工智能技术?想知道这个问题的答案吗?赶紧跟着小编一起接着往下看夏...
- Android UsbDevice_androidusbdeviceclass安装失败
-
无法识别的USB设备?怎么解决?大家有没有遇到过这种问题,就是当你把自己的U盘或者其他USB设备插到电脑上的时候,桌面右下角会弹出一个“无法识别的USB设备”的提示?这会导致该USB设备无法正常使用。...
- SplitContainer_splitcontainer 合并
-
C#WinForms中SplitContainer使用简单例子以下是一个使用C#WinForms中的SplitContainer控件的简单示例:usingSystem;usingSystem...
你 发表评论:
欢迎- 一周热门
-
-
维基百科Wikipedia镜像网站列表
-
超炫html+css+javascript幻化3D相册 (含背景音乐)程序员表白必备
-
不能读取文件“itunes.library.itl”因为它是由更高级别的itunes所创建的
-
6款图片查看器,丝滑干净无广告!(图片查看器软件)
-
用java编写一个QQ群发信息_用java语言写qq聊天程序
-
StreamReader StringReader 区别 reader和inputstream的区别
-
Windows Server 2003 详细安装与配置
-
作为一名独立开发者,我是如何建立我的科技创业公司的
-
计算机集成制造系统有哪些_计算机集成制造系统有哪些类型
-
虚拟化测评 虚拟化测试方案_虚拟化测试工程师招聘
-
- 最近发表
- 标签列表
-
- int.tryparse (62)
- list转list (108)
- repeat函数 (66)
- git force (69)
- springboot /error (71)
- mysql 更新 (74)
- save as pdf (63)
- lock tables (66)
- 同步 异步 阻塞 非阻塞 (62)
- rsyslog (66)
- querystring (63)
- c++ override (70)
- css 动画库 (61)
- vsphere web client (65)
- int32_t (63)
- c# task.run (68)
- find -size (64)
- golang flag包 (70)
- 二维数组作为参数传入函数 (62)
- sudo su root (60)
- crontab 安装 (61)
- c# 数组转成list (60)
- 下拉按钮 (64)
- 滚动条美化 (61)
- stringutils (61)