Vue3+Vite+Pinia+Naive后台管理系统搭建之四:Naive UI 组件库的安装和使用

news2024/9/26 1:22:45

前言

如果对 vue3 的语法不熟悉的,可以移步 Vue3.0 基础入门Vue3.0 基础入门快速入门。

UI 组件请参考官网:Naive Ui 官网

1. 安装依赖

yarn add naive-ui -D
// or
npm install naive-ui -D

 2. 在 SFC (单文件组件) 中使用

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

<!-- 构建 src/pages/login.vue -->
<script setup>
import router from "@/router/index.js";
import { NButton } from "naive-ui";

let handleLogin = () => {
  router.push({ name: 'home' })
}
</script>

<template>
  <div class="login">
    <n-button type="primary" size="small" @click="handleLogin">登录</n-button>
  </div>
</template>

<style lang="scss" scoped></style>

 3. 构建 App.vue

<!-- App.vue -->
<script setup>
import MessageApi from "@/components/MessageApi.vue";
import {
  NMessageProvider,
  NDialogProvider,
  NConfigProvider,
  zhCN,
  dateZhCN,
} from "naive-ui";
</script>

<template>
  <!-- 如果你想使用信息,你需要把调用其方法的组件放在 n-message-provider 内部并且使用 useMessage 去获取 API。 -->
  <n-message-provider>
    <!-- 将 message API 通过 message-api 组件注入 window.$msg,之后在其他 SFC 可以直接使用 window.$msg -->
    <message-api></message-api>
  </n-message-provider>

  <!-- 如果你想使用对话框,你需要把调用其方法的组件放在 n-dialog-provider 内部并且使用 useDialog 去获取 API。 -->
  <n-dialog-provider>
    <!-- 将 n-config-provider 的 locale 设为从 naive-ui 导入的 zhCN 来设定全局中文。 -->
    <!-- 将 n-config-provider 的 date-locale 设为从 naive-ui 导入的 dateZhCN 来设定全局日期中文。 -->
    <n-config-provider :locale="zhCN" :date-locale="dateZhCN">
      <router-view></router-view>
    </n-config-provider>
  </n-dialog-provider>
</template>

<style scoped></style>

4. 构建 src/components/MessageApi.vue

<!-- src/components/MessageApi.vue -->
<script setup>
import { useMessage } from 'naive-ui'

window.$msg = useMessage();
</script>

<template>
  <div></div>
</template>

5. 构建 src/pages/home.vue

<!-- 构建 src/pages/home.vue -->
<script setup>
import router from "@/router/index.js";
import { NButton, useDialog } from "naive-ui";

let toPage = (name) => {
  router.push({ name });
};

let handleShowMsg = () => {
  window.$msg.success("success message");
};

const dialog = useDialog();
let handleShowDialog = () => {
  dialog.warning({
    title: "警告",
    content: "你确定?",
    positiveText: "确定",
    negativeText: "不确定",
    onPositiveClick: () => {
      window.$msg.success("确定");
    },
    onNegativeClick: () => {
      window.$msg.error("不确定");
    },
  });
};
</script>

<template>
  <div class="home">
    home
    <n-button @click="toPage('demo')" type="primary">goDemo</n-button>
    <n-button @click="toPage('login')" type="warning">goLogin</n-button>
    <n-button @click="handleShowMsg" type="info">show message</n-button>
    <n-button @click="handleShowDialog" type="error">show dialog</n-button>
  </div>
</template>

<style lang="scss" scoped></style>

 

综上

Naive UI 安装完成。下一章: Pinia 状态管理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/738470.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

UnsatisfiedDependencyException: Error creating bean with name “dataSource” 异常排查

在写demo过程中&#xff0c;出现此异常&#xff0c;自己是按照以下步骤一个一个进行排查最终解决问题&#xff0c;希望能帮到碰到此问题的同学 : ) 1. 检查配置文件是否设置正常&#xff0c;是否配置了扫描类和配置文件路径 2. 检查是否设置MapperScan注解 3. 检查驱动版本和s…

c语言的变量

变量 我们可以直接声明一个变量&#xff0c;并利用这些变量进行基本的运算&#xff0c;声明格式为: 数据类型 变量名称 初始值&#xff1b; // 其中初始值可以不用定义变量时设定 // 是赋值操作&#xff0c;可以将等号后面的值赋值给前面的变量&#xff0c;等号后面可以直接…

SpringMVC集合

目录 SpringMVCSpringMVC简介1、什么是MVC2、什么是SpringMVC3、SpringMVC的特点 SpringMVC入门&#xff08;1&#xff09;引入依赖&#xff08;2&#xff09;配置web.xml&#xff08;3&#xff09;创建请求控制器&#xff08;4&#xff09;创建SpringMVC的配置文件&#xff08…

[Docker] Docker学习和基本配置部署(一)

前言&#xff1a; Docker的作用是通过容器化技术实现快速、可移植和可扩展的应用程序部署与管理。 文章目录 引言容器化的基本概念Docker的背景产生Docker 配置和命令详解1. 安装 Docker2. Docker 配置3. Docker 命令 Docker的核心组件Docker在软件开发和云计算中的重要性Docke…

rancher

rancher&#xff08;牧场主&#xff09;简介&#xff1a; Rancher是一个开源的容器管理平台&#xff0c;它提供了一套完整的解决方案来管理和部署容器集群。它的目标是简化容器化应用的部署、管理和运维工作。 Rancher使用了开放标准的容器技术&#xff0c;如Docker和Kubernete…

C/C++实现高并发http服务器

http高并发服务器实现 基础知识 html&#xff0c;全称为html markup language&#xff0c;超文本标记语言。 http&#xff0c;全称hyper text transfer protocol&#xff0c;超文本传输协议。用于从万维网&#xff08;WWW&#xff1a;World Wide Web&#xff09;服务器传输超…

绝了!贸易企业增值税高,税负重怎么办?这些处理技巧请收藏!

绝了&#xff01;贸易企业增值税高&#xff0c;税负重怎么办&#xff1f;这些处理技巧请收藏&#xff01; 《税筹顾问》专注于园区招商、企业税务筹划&#xff0c;合理合规助力企业节税&#xff01; 贸易企业始终都逃脱不了税负重的问题&#xff0c;这是因为贸易企业自身的行业…

ChatGPT潮落 资金逃离AI概念股

ChatGPT访问量首次出现负增长&#xff0c;寒气传导到证券市场。 上半年经历暴涨的一众AI概念股偃旗息鼓&#xff0c;蓝色光标、三六零、昆仑万维等知名个股均较高点跌超30%。微软、英伟达也未能幸免&#xff0c;同样有不同程度回调。 回顾这波过山车般的市场表现&#xff0c;…

【JavaEE】你真的了解Cookie和Session吗?

博主简介&#xff1a;想进大厂的打工人博主主页&#xff1a;xyk:所属专栏: JavaEE初阶 目录 文章目录 一、什么是Cookie 二、什么是Session 三、Cookie和Session有什么不同 四、关于Sessionid 五、关于浏览器禁止Cookie 六、如何考虑分布式Session问题&#xff1f; 七、Serv…

springboot请求重定向失败问题解决方案

今天晚上在写登录页面时&#xff0c;发现自己的首页无法正常访问&#xff0c;用户名和密码正常的情况下还是无法访问首页。于是开始进行debug&#xff0c; 程序执行至此处时无任何异常&#xff0c;但是就是在进行重定向页面时出现了404&#xff0c;在检查导航栏后发现地址栏也发…

做好POC测试 需要重点关心的5点

在日常POC测试过程中&#xff0c;往往遇到&#xff1a;测试计划时间结束才达到测试目标&#xff0c;导致结果未记录&#xff1b;不了解测试达标要求&#xff0c;未达到测试要求&#xff0c;后期大量的工作进行补救&#xff1b;测试遇到的问题&#xff0c;没有充分地相互沟通等问…

Dell Inspiron 15-3567电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。&#xff08;下载请直接百度黑果魏叔&#xff09; 硬件型号驱动情况 主板Dell Inspiron 15-3567 处理器Intel Core i5 Kabylake, 7200U, 2.70 GHz已驱动 内存16GB LPDDR4X 3200MHz已驱动 硬盘三星 MZVLW1T0HMLH-000L2 (…

pycharm找不到conda可执行文件怎么办?

问题&#xff1a;pycharm配置conda环境找不到conda可执行文件 解决办法&#xff1a; 1. 找到 anaconda 安装目录&#xff08;D:\Users\wl\anaconda3&#xff09; 2. 打开pycharm &#xff08;看图吧<手动狗头>&#xff09; 找到anaconda3\condabin\conda.bat 选择你要…

【从删库到跑路】MySQL数据库的 存储引擎

&#x1f38a;专栏【MySQL】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【如愿】 &#x1f970;欢迎并且感谢大家指出小吉的问题 文章目录 &#x1f33a;存储引擎简介&#x1f384;查询当前数据库支持的存储引擎&#x1f384;…

C++笔记之是否知道了一个数组首元素的地址就可以获取该整个数组?-面试问题

C笔记之数组名和指针GPT问答记录 事前提要&#xff1a;前段时间去面一个公司&#xff0c;面试官说知道了一个数组首元素的地址&#xff0c;就可以获取该整个数组&#xff0c;我当时就困惑&#xff0c;不知道大小和长度&#xff0c;只知道地址怎么就能获取。但也没反驳面试官&a…

ChatGPT炒股:批量下载北交所上市公司的招股说明书

打开北京证券交易所官网&#xff0c;点击发行上市&#xff0c;然后点击公开发行信息披露&#xff0c;然后在查询框里面输入关键词&#xff1a;在北京证券交易所上市招股说明书&#xff0c;然后选择时间&#xff0c;点击查询&#xff0c;就可以看到所有北交所上市公司的招股说明…

数据集【NO.13】复杂场景下的鸟类检测数据集

写在前面&#xff1a;数据集对应应用场景&#xff0c;不同的应用场景有不同的检测难点以及对应改进方法&#xff0c;本系列整理汇总领域内的数据集&#xff0c;方便大家下载数据集&#xff0c;若无法下载可关注后私信领取。关注免费领取整理好的数据集资料&#xff01;今天分享…

一款可定时发圈和标签群发的微信管理软件是什么样的?

什么是时间管理&#xff1f;它是一种科学的解释&#xff0c;意味着时间的流逝是不可阻挡的&#xff0c;但是可以通过掌握时间来获取更多的改变。那如何在有限的生命里而做更多有意义的事情呢&#xff1f;学习一下时间管理&#xff0c;你一定会从中得到启发和答案的。 1.先确定…

MYSQL建库及查询

目的&#xff1a; 1.创建数据库&#xff0c;删除数据库&#xff0c;查询创建数据的语句&#xff0c;使用数据库&#xff0c;查询当前默认的数据库以及使用的编码方式校验规则 2.数字&#xff0c;文本&#xff0c;日期 在一章表中定义多个字段&#xff0c;要使用提到的所有的数…

vue 多环境打包指令配置及编译

1.创建多环境: 在根目录创建.env.xxx文件,如下为例(我创建了两个) 文件内容主要包括&#xff1a; # 页面标题 VUE_APP_TITLE "标题"# 生产环境配置 ENV production# DNA检测仓储管理系统/生产环境 VUE_APP_BASE_API https://xxxxxx 2.设置: 修改根目录下的package…