百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

大前端,这可能是最走心的Vue3组件库——Naive UI

myzbx 2025-03-28 19:14 44 浏览

介绍

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

可以直接导入组件并使用它。这种情况下,只有导入的组件才会被打包。



<script>
  import { NButton } from 'naive-ui'

  export default {
    components: {
      NButton
    }
  }
</script>

//如果你可以使用 setup script,你可以用下面的方式使用组件。



<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 {{ default: () => 'Star Kirby' }}
  }
})

包括的组件

通用组件 (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(东西)的组件很有意思,如下:


相关推荐

男人的内裤,到底可以穿多久?(男人内裤最多能穿几天)

女生们如果家里有男生可能会发现——他们对内裤很恋旧穿到褪色松垮穿到别有洞天穿到一网情深穿到人间蒸发都仍然...舍不得这位老伙计男生们到底有多热爱旧内裤?有外国媒体曾在街头采访,发现:女士们往往会随...

typeof 与 instanceof 区别(typeof与instanceof区别)

typeof操作符返回一个字符串,表示未经计算的操作数的类型使用方法如下:typeofoperandtypeof(operand)operand表示对象或原始值的表达式,其类型将被返回举个例子...

年纪轻轻病情就已是晚期!你还敢再喝这种饮料吗?

本文作者:谢祥成,浙江大学医学院附属邵逸夫医院肾内科主任医师吴俊男,浙江大学医学院附属邵逸夫医院肾内科主治医师30岁的金先生(化名)是一名才华横溢的设计师。半年前出现视物模糊,起初以为是用眼过度,没有...

typeof 与 instanceof 有什么区别

typeof和instanceof是JavaScript中用于类型检查的两个操作符,但它们的用途和适用场景有显著区别。以下是它们的区别及使用注意事项:1.typeof作用:返回一个变量的基本...

数据结构之顺序表(数据结构顺序表图书管理系统)

线性表定义线性表是n(n≥0)个具有相同特性的数据元素的有限序列。记作:(a1,a2,…,ai-1,ai,ai+1,…,an)线性表相关概念直接前驱元素:ai-1领先于ai,称a...

每一个成熟的人,都需要具备「翻篇」这种能力

“翻篇儿”——仿佛读出这个儿化音,才够表达那种潇洒的感觉是一种人生中非常重要的心理过程和心理技能。人生注定不完美,我们只要活着就会遭遇不愉快的经历,只有及时翻篇儿,才能把更多注意力放在当下,不被过去的...

打通 JAVA 与内核系列之 一 ReentrantLock 锁的实现原理

写JAVA代码的同学都知道,JAVA里的锁有两大类,一类是synchronized锁,一类是concurrent包里的锁(JUC锁)。其中synchronized锁是JAVA语言层面提供的能力,在此不...

韩国吃货主播,美食声控咀嚼音,你是搬运工,好吃到停不下来

刘姐畅谈。Hey,Hongsi。TodaywehaveassortedtoysthatImade。Foryouguysfirst。Itlookscrunchybecause...

黄子韬2019新歌最好的我们完整歌词介绍在哪可以听

最好的我们(TheBestofUs)-黄子韬词:黄子韬曲:黄子韬编曲:DarylK制作人:DarylK助理制作:郭舒文和音:黄子韬电吉他:CalvinC木吉他:雷十一录音室:Kong...

刷一道LeetCode -- 三数之和(三数之和算法)

原题:https://leetcode-cn.com/problems/3sum/给你一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c,使得a+b+c...

隐藏在阳光当中的地球刺客(隐藏在阳光下的秘密)

小行星什么时候会撞击地球?这一直是大家比较关注的问题,特别是当大家知道地球上前一任住户是亡于小行星之后,就更加关注这个问题了。图1尤卡坦半岛的陨石坑(NASA)实际上,地球每天都会遭受到一些天体的袭...

安卓手机爱奇艺app中离线视频导出

安卓手机爱奇艺app中离线视频导出:通常我在爱奇艺中发现好的视频,想保存下来,点击离线缓存,缓存好后,在手机上可以查看,但是使用手机连接电脑打开后,发现保存视频的文件夹是空的。1)在手机中爱奇艺文...

50款经典奥斯汀月季,超多图片,抗病好养新手必种的月季

【50款经典奥斯汀月季】大家好,今天来给大家介绍50款经典的奥斯汀月季,奥斯汀是一位伟大的育种家,以他命名的奥斯汀公司也繁育出了数量众多的月季品种。根据木木的种植经验,奥斯汀的月季大多植株长势良...

你也想像J姐一样在梦幻芭比大house里“哭泣”吗?

“6年前我的兜里只揣着400元美金,现如今我已经住上了这上亿豪宅”他是一个我行我素,敢说敢做的一个网红博主他测评过的彩妆都卖断货了他的自创同名品牌深受好评他就是JeffreeStar,你们传说中的J...

VB Do While\Until,Loop循环语句

DoWhile\Until…….Loop循环语句上一节讲了For……Next循环语句,这节讲DoWhile\Until…….Loop循环语句。有人会有疑问,既然有For循环,还要Do循环干什么?它...