Nextui使用

安裝和使用

https://nextui.org/docs/frameworks/nextjs

自定義主題

https://nextui.org/docs/customization/customize-theme

// tailwind.config.js
const {nextui} = require("@nextui-org/react");/** @type {import('tailwindcss').Config} */
module.exports = {plugins: [nextui({themes: {"purple-dark": {extend: "dark", // <- inherit default values from dark themecolors: {background: "#0D001A",foreground: "#ffffff",primary: {50: "#3B096C",100: "#520F83",200: "#7318A2",300: "#9823C2",400: "#c031e2",500: "#DD62ED",600: "#F182F6",700: "#FCADF9",800: "#FDD5F9",900: "#FEECFE",DEFAULT: "#DD62ED",foreground: "#ffffff",},focus: "#F182F6",},layout: {disabledOpacity: "0.3",radius: {small: "4px",medium: "6px",large: "8px",},borderWidth: {small: "1px",medium: "2px",large: "3px",},},},},}),],
};
 nextui({themes: {dark: {colors: {primary: {DEFAULT: "#BEF264",foreground: "#000000",},focus: "#BEF264",},},},

調色板

For an effective palette, we recommend using color ranges from 50 to 900. You can use tools like Eva Design System, Smart Watch, Palette or Color Box to generate your palette.

切換主題

https://github.com/pacocoursey/next-themes

錯誤(水合)

https://github.com/pacocoursey/next-themes

<html lang="en" suppressHydrationWarning>

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

延遲更換主題防止水合錯誤

import { useState, useEffect } from 'react'
import { useTheme } from 'next-themes'const ThemeSwitch = () => {const [mounted, setMounted] = useState(false)const { theme, setTheme } = useTheme()// useEffect only runs on the client, so now we can safely show the UIuseEffect(() => {setMounted(true)}, [])if (!mounted) {return null}return (<select value={theme} onChange={e => setTheme(e.target.value)}><option value="system">System</option><option value="dark">Dark</option><option value="light">Light</option></select>)
}export default ThemeSwitch

可以切換多個主題

E:\Nextjs\nextuiapp\providers.tsx

'use client'
import { ThemeProvider as NextThemesProvider } from "next-themes";
import { NextUIProvider } from '@nextui-org/react'export function Providers({ children }: { children: React.ReactNode }) {return (<NextUIProvider><NextThemesProvider attribute="class" defaultTheme="light" themes={['light', 'dark','purple-dark']}>{children}</NextThemesProvider></NextUIProvider>)
}

切換主題下拉菜單

E:\Nextjs\nextuiapp\components\ThemeSwitcher.tsx

"use client";
import { useTheme } from "next-themes";
import { useEffect, useState } from "react";
import React from "react";
import { Dropdown, DropdownTrigger, DropdownMenu, DropdownItem, Button } from "@nextui-org/react";export function ThemeSwitcher() {const [mounted, setMounted] = useState(false)const [selectedKeys, setSelectedKeys] = React.useState(new Set(["light"]));const { theme, setTheme } = useTheme()useEffect(() => {setSelectedKeys(new Set([localStorage.getItem("theme")||'light']))setMounted(true)}, [])if (!mounted) return nullconst handleClick = (key: string) => {setTheme(key)}return (<div><Dropdown><DropdownTrigger><Buttonvariant="light">{theme}</Button></DropdownTrigger><DropdownMenuaria-label="Single selection example"variant="flat"disallowEmptySelectionselectionMode="single"selectedKeys={selectedKeys}onSelectionChange={setSelectedKeys as any}onAction={(key) => handleClick(key as string)}><DropdownItem key="light">Light Mode</DropdownItem><DropdownItem key="dark">Dark Mode</DropdownItem><DropdownItem key="purple-dark">purple-dark Mode</DropdownItem></DropdownMenu></Dropdown></div>)
};

突然報錯則刪除本地存儲的theme

應用主題顏色

All components that use the primary color will be affected by this change.

import {Button} from "@nextui-org/react";export default function App() {return (<div className="flex flex-wrap gap-4 items-center"><Button color="primary" variant="solid">Solid</Button><Button color="primary" variant="faded">Faded</Button><Button color="primary" variant="bordered">Bordered</Button><Button color="primary" variant="light">Light</Button><Button color="primary" variant="flat">Flat</Button><Button color="primary" variant="ghost">Ghost</Button><Button color="primary" variant="shadow">Shadow</Button></div>);
}

常用組件

Listbox側邊欄

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

Button

Autocomplete(輸入框加選項結合的組件)

外加搜索功能

Badge圖標小提示

在這里插入圖片描述

Breadcrumbs當前路徑提示

在這里插入圖片描述

Card文章卡片

在這里插入圖片描述

運行與父組件等寬

<Card className=" border flex flex-col  relative dark:bg-dark dark:text-white sm:p-5  text-accent    dark:border-none" fullWidth={true}>

Navbar導航欄

在這里插入圖片描述

改變大小

<Navbar  shouldHideOnScroll className="w-full border" maxWidth="xl">

其他參數

在這里插入圖片描述

Modal對話框

在這里插入圖片描述

在這里插入圖片描述

onOpenChange()可以打開/關閉模態

Image圖片

在這里插入圖片描述

Pagination頁碼

在這里插入圖片描述

tabs選項卡(可做表單)

在這里插入圖片描述

在這里插入圖片描述

偶爾分享web開發知識
小破站
blog

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/213487.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/213487.shtml
英文地址,請注明出處:http://en.pswp.cn/news/213487.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

deepstream docker安裝

介紹 deepstream為dGPU和Jetson平臺提供dockers containers&#xff0c;這些鏡像可以方便開發者很快地部署deepstream應用。deepstream的docker images可以在NGC web中得到。 安裝Docker Docker 是一個開源的容器化平臺&#xff0c;它允許你構建&#xff0c;測試&#xff0c…

29. 如何在Spring所有BeanDefinition注冊完后做擴展?

如何在Spring所有BeanDefinition注冊完后做擴展? 通常可以使用beanFactoryPostProcessor 對已注冊的BeanDefinition進行修改或者通過它的子接口BeanDefinitionRegistryPostProcessor 再進行注冊額外擴展 BeanDefinitionRegistryPostProcessor 1、概述 public interface Bea…

0基礎學java-day18-( 坦克大戰【2】)

課件資源放在文末 1.線程-應用到坦克大戰 1.1 坦克大戰 0.3 【坦克類&#xff1a;包括坦克的基本屬性&#xff0c;以及坦克的移動方法】 package com.hspedu.tankgame03;/*** author 韓順平* version 1.0*/ public class Tank {private int x;//坦克的橫坐標private int y;…

XMemcached network layout exception java.nio.channels.ClosedChannelException

java.nio.channels.ClosedChannelException 表示嘗試在已關閉的通道上進行 I/O 操作&#xff0c;通常發生在網絡連接意外關閉后嘗試在關閉的通道上執行讀取或寫入操作。 XMemcached network layout exception 可能是由于 XMemcached 客戶端在嘗試與 Memcached 服務器通信時發生…

一些AG10K FPGA 調試的建議-Douglas

PLL AGM FPGA 在配置成功時&#xff0c;PLL 已經完成鎖定&#xff0c;lock 信號已經變高&#xff1b;如果原設計中用 lock 信號輸出實現系統 reset 的復位功能&#xff0c;就不能正確完成上電復位&#xff1b;同時&#xff0c;為了保證 PLL 相移的穩定&#xff0c;我們需要在 P…

C++筆記之重載和重寫辨別

C筆記之重載和重寫辨別 code review! 文章目錄 C筆記之重載和重寫辨別重載&#xff08;overloading&#xff09;重寫&#xff08;Overriding&#xff09; 在C中&#xff0c;重載&#xff08;overloading&#xff09;和重寫&#xff08;overriding&#xff09;是面向對象編程中…

筆記69:Conv1d 和 Conv2d 之間的區別

筆記地址&#xff1a;D:\work_file\&#xff08;4&#xff09;DeepLearning_Learning\03_個人筆記\4. Transformer 網絡變體 a a a a a a a a a a a

設計模式-門面模式(Facade)

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、定義二、結構 前言 在組件構建過程中&#xff0c;某些接口之間直接依賴會帶來很多問題&#xff0c;甚至無法直接實現。采用一層間接接口&#xff0c;來隔離…

SpringBoot報No qualifying bean of type ‘com.lzk.mapper.UserMapper‘ available

這個異常是SpringBoot程序沒有找到要Bean&#xff0c;這里提示找不到UserMapper&#xff0c;有以下三種解決方式&#xff1a; 在UserMapper上添加注解MapperMapper public interface UserMapper extends BaseMapper<User> { }在啟動類上進行Mapper包掃描&#xff0c;不用…

【IC前端虛擬項目】工程目錄組織說明

【IC前端虛擬項目】數據搬運指令處理模塊前端實現虛擬項目說明-CSDN博客 文檔目錄在“MVU芯片前端設計驗證虛擬項目”中&#xff0c;截至本篇文章時&#xff0c;包含了MVU_FS.md/project_req.md和mvu_vp_list.xlsx三個文件。 MVU_FS是模塊的方案文檔&#xff0c;除了feature和…

淺談CompletableFuture

作者簡介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中興通訊、美團架構師&#xff0c;現某互聯網公司CTO 聯系qq&#xff1a;184480602&#xff0c;加我進群&#xff0c;大家一起學習&#xff0c;一起進步&#xff0c;一起對抗互聯網寒冬 回顧FutureTask 之前我…

安全高效 江西變電站成功應用國家電網無人機巡檢

隨著電力需求的迅速增長&#xff0c;電網的巡檢、維護與保養變得越來越重要。為迎接這一挑戰&#xff0c;江西供電公司的一座變電站成功引入了復亞智能國家電網無人機巡檢系統&#xff0c;在提升巡檢水平、開創新型巡檢模式方面做出了重要嘗試&#xff0c;為電網設備的高效巡檢…

EDA 數字時鐘

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、數字時鐘是什么&#xff1f;二、EDA里面數碼管的顯示1.元件模型2.參考程序3. 實驗仿真波形4.實驗現象5. 仿真問題 三、顯示時鐘1. 時鐘電路模塊2.參考程序3…

gRPC .net學習

學習helloworld server用.net client有.net的控制臺 和 unity server端 直接使用vs2022創建(需自行看有無裝asp.net哦),搜索gPRC,使用6.0吧&#xff0c;創建工程后直接F5跑起來,服務端到此完成 .net控制臺client,創建新的控制臺,使用NuGet,然后導入server端的Protos文件夾 學…

基于Jedis來探討池化技術

為什么需要池化技術 系統運行時必然是需要數據庫連接、線程等一些重量級對象&#xff0c;頻繁的創建這種對象對性能有著不小的開銷&#xff0c;所以為了減少沒必要的創建和開銷&#xff0c;我們就用到了池化技術。 通過創建一個資源池來保存這些資源便于后續的復用&#xff0c…

【C++初階】七、內存管理(C/C++內存分布、C++內存管理方式、operator new / delete 函數、定位new表達式)

相關代碼gitee自取&#xff1a; C語言學習日記: 加油努力 (gitee.com) 接上期&#xff1a; 【C初階】六、類和對象&#xff08;初始化列表、static成員、友元、內部類&#xff09;-CSDN博客 目錄 一 . C/C內存分布 C/C中程序內存區域劃分&#xff1a; 二 . C內存管理方式 …

16.Java程序設計-基于SSM框架的android餐廳在線點單系統App設計與實現

摘要&#xff1a; 本研究旨在設計并實現一款基于SSM框架的Android餐廳在線點單系統&#xff0c;致力于提升餐廳點餐流程的效率和用戶體驗。通過整合Android移動應用和SSM框架的優勢&#xff0c;該系統涵蓋了用戶管理、菜單瀏覽與點單、訂單管理、支付與結算等多個功能模塊&…

用戶登錄權限

文章目錄 [TOC](文章目錄) 前言一、 Cookie與session1.HTTP無狀態2.cookie 和 session 的生命周期2.1 cookie 生命周期影響因素2.2 session 生命周期影響因素 3.cookie 和 session 的區別4.工作原理3 用戶登錄Node.js和Express驗證session 二、JSON Web Token1. JWT 介紹2. JWT…

C#使用Matrix類對Dicom圖像的放縮

C#使用Matrix類對Dicom圖像的放縮&#xff0c;使用Matrix 1.同時操作水平、垂直同時放縮 // 創建一個 Matrix 對象 Matrix m_Matrix new Matrix();//放縮參數 float inputZoom1.2f; m_Matrix.Scale(inputZoom, inputZoom, MatrixOrder.Append); 2.操作水平&#xff08;X軸…

前端使用插件預覽pdf、docx、xlsx、pptx格式文件

PDF預覽 H5頁面pdf預覽 插件&#xff1a;pdfh5 版本&#xff1a;“pdfh5”: “^1.4.7” npm install pdfh5 import PdfH5 from "pdfh5"; import "pdfh5/css/pdfh5.css";// methods this.$nextTick(() > {this.pdfH5 new PdfH5("#pdf", {pd…