react 中,使用antd layout布局中的sider 做sider的展開和收起功能

一 話不多說,先展示效果:

展開時:

收起時:

二、實現代碼如下

react 文件

import React, {useState} from 'react';
import {Layout} from 'antd';
import styles from "./index.module.less"; // 這個是樣式文件,實際上里面只有一個button的樣式
import foldUrl from "../../../public/btn_fold2.png"; // 這里是按鈕中的圖片,可以替換成自己的const {Sider, Content} = Layout;
const ScalingTest = () => {const [showSider, setShowSider] = useState(true);const containerLayoutStyle: React.CSSProperties = {borderRadius: "8px",overflow: "hidden",height: "600px"};const containerSiderStyle: React.CSSProperties = {background: "red",height: "600px",fontSize: "24px",};const contentStyle: React.CSSProperties = {backgroundColor: "gainsboro",position: "relative",height: "600px",fontSize: "24px",};return <div style={{padding: 50}}><Layout style={containerLayoutStyle}><Sider style={containerSiderStyle} width={showSider ? 300 : 0}>我是側邊欄</Sider><Content style={contentStyle}>{/* 伸縮按鈕 */}<button className={styles.closeButton} type={"button"}onClick={() => setShowSider(!showSider)}><img src={foldUrl} width={4} height={8} alt={"img"}style={{marginLeft: -2, transform: `rotate(${showSider ? 0 : 180}deg)`}}/></button><div>我是內容噢</div></Content></Layout></div>}export default ScalingTest;

CSS 樣式文件:

// 展開、關閉按鈕的樣式.closeButton {position: absolute;top: 50%;transform: translate(0, -50%);left: 6px;width: 12px;height: 40px;background: linear-gradient(180deg, #EFEEF5 0%, #F0F1F5 98%);border-radius: 4px 4px 4px 4px;border: 1px solid rgba(255, 255, 255, 0.5);
}

三、題外話

? ? ? ? 說個題外話,我自己在使用ant desgin?pro +umi 那套成熟的框架時,給layout組件設置自定義高度不生效。但是如果不使用ant desgin?pro +umi 那套框架時,就可以隨意設置。不知道為啥!!不知道有沒有大神幫忙解惑.。。。。。。

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

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

相關文章

【Java 基礎】-- Java 接口中的 @Public 和 @FunctionalInterface 注解詳解

目錄 Java 接口中的 Public 和 FunctionalInterface 注解詳解 1. 概述 2. Public 注解的作用 3. Public 注解的使用 3.1 基本使用方式 3.2 應用于類和方法 4. FunctionalInterface 注解的作用 4.1 主要作用 4.2 FunctionalInterface 使用示例 4.3 允許默認方法 5. Pu…

go語言環境下載與配置(Windows)

下載 Go下載 - Go語言中文網 - Golang中文社區 建議在D盤中創建文件夾安裝到 D 盤 &#xff0c;方便進行管理&#xff0c;然后進行傻瓜式安裝。 安裝 驗證安裝 go version 安裝成功 配置環境變量 winE --> 右擊此電腦 --> 選擇屬性 --> 高級系統設置 --> 點擊…

nss刷題5(misc)

[HUBUCTF 2022 新生賽]最簡單的misc 打開后是一張圖片&#xff0c;沒有其他東西&#xff0c;分離不出來&#xff0c;看看lsb&#xff0c;紅綠藍都是0&#xff0c;看到頭是png&#xff0c;重新保存為png&#xff0c;得到一張二維碼 掃碼得到flag [羊城杯 2021]簽到題 是個動圖…

OkHttp、Retrofit、RxJava:一文講清楚

一、okHttp的同步和異步請求 Call 是 OkHttp 的核心接口&#xff0c;代表一個已準備好執行的 HTTP 請求。它支持 同步 和 異步 兩種模式&#xff1a; enqueue——>okHttp異步 OkHttpClient client new OkHttpClient();Request request new Request.Builder().url("…

Redis分布式緩存面試題

為什么使用分布式緩存&#xff1f; 1. 提升性能 降低延遲&#xff1a;將數據緩存在離應用更近的地方&#xff0c;減少數據訪問時間。減輕數據庫壓力&#xff1a;緩存頻繁訪問的數據&#xff0c;減少對后端數據庫的請求&#xff0c;提升系統響應速度。 2. 擴展性 水平擴展&a…

基于阿里云PAI平臺快速部署DeepSeek大模型實戰指南

一、DeepSeek大模型&#xff1a;企業級AI應用的新標桿 1.1 為什么選擇DeepSeek&#xff1f; 近期&#xff0c;DeepSeek系列模型憑借其接近GPT-4的性能和開源策略&#xff0c;成為全球開發者關注的焦點。在多項國際評測中&#xff0c;DeepSeek-R1模型在推理能力、多語言支持和…

C++---了解STL

上節學習了模板&#xff0c;那么就得談到C的標準模板庫STL。 C98&#xff1a;以模板方式重寫了C標準庫&#xff0c;引入了STL(標準模板庫)。 1.概念 STL(Standard template Libarary)標準模板庫&#xff1a;是C標準庫的重要組成部分&#xff0c;不僅是一個可復用的組件庫&am…

分享幾款比較常用的接口測試工具

首先&#xff0c;什么是接口呢&#xff1f; 接口一般來說有兩種&#xff0c;一種是程序內部的接口&#xff0c;一種是系統對外的接口。 系統對外的接口&#xff1a;比如你要從別的網站或服務器上獲取資源或信息&#xff0c;別人肯定不會把數據庫共享給你&#xff0c;他只能給你…

Qt layout

文章目錄 Qt layout**關鍵機制****驗證示例****常見誤區****最佳實踐****總結**關鍵點總結&#xff1a;示例代碼說明&#xff1a;結論&#xff1a; Qt layout 在 Qt 中&#xff0c;當調用 widget->setLayout(layout) 時&#xff0c;layout 的父對象會被自動設置為該 widget…

flutter: table calendar筆記

pub dev&#xff1a;table_calendar 3.2.0 我來詳細解釋 TableCalendar 是如何根據不同的 CalendarFormat 來顯示界面的。主要邏輯在 CalendarCore 中實現。 核心邏輯分為以下幾個部分&#xff1a; 頁面數量計算 - _getPageCount 方法根據不同格式計算總頁數&#xff1a; in…

【C++】各個版本新的特性和改進

C 語言自從其誕生以來&#xff0c;經歷了多個版本的更新&#xff0c;每個版本都引入了新的特性和改進&#xff0c;目的是提升語言的表達能力、性能、安全性以及開發效率。下面是各個主要版本&#xff08;從 C98 到 C20&#xff09;的一些關鍵特性。 C98 (1998年) ISO C 標準化…

C++模板與STL七日斬:從工業編程到高效數據管理(工業項目)

模板如何提升工業代碼復用性 實戰項目&#xff1a;創建通用【工業設備容器】模板類 類模板的定義與實例化模板參數默認值 #include <iostream> #include <string> using namespace std;template <typename T string> class IndustrialContainer { priva…

sh腳本把服務器B,服務器C目錄的文件下載到服務器A目錄,添加開機自啟動并且一小時執行一次腳本

腳本邏輯 第一次會下載,第二次比較如果有就不下載 文件已存在&#xff1a; 如果目標目錄中已經存在同名文件&#xff0c;rsync 會比較源文件和目標文件的大小和修改時間。 如果源文件和目標文件的大小和修改時間完全相同&#xff0c;rsync 會跳過該文件&#xff0c;不會重新下載…

云手機如何進行經緯度修改

云手機如何進行經緯度修改 云手機修改經緯度的方法因不同服務商和操作方式有所差異&#xff0c;以下是綜合多個來源的常用方法及注意事項&#xff1a; 通過ADB命令注入GPS數據&#xff08;適用于技術用戶&#xff09; 1.連接云手機 使用ADB工具連接云手機服務器&#xff0c;…

透徹理解:方差、協方差、相關系數、協方差矩陣及其應用

最近看了幾篇跨領域特征對齊方面的經典文獻&#xff0c;學者們搞了很多花樣&#xff0c;如有的提出一階統計特征對齊&#xff0c;有的提出二階統計特征對齊&#xff0c;有的學者提出高階統計特征對齊。 通俗而言&#xff0c;就是在統計特征層面對跨域特征進行對齊&#xff0c;…

Unity基礎學習(二)

二、Mono中的重要內容 1、延遲函數 &#xff08;1&#xff09;延遲函數定義 延遲執行的函數&#xff0c;可以設定要延遲執行的函數和具體延遲的時間 &#xff08;2&#xff09;延遲函數的使用 #region 1、延遲函數//函數&#xff1a;Invoke(函數名/字符串&#xff0c;延遲時…

20250212:ZLKMedia 推流

1:資料 快速開始 ZLMediaKit/ZLMediaKit Wiki GitHub GitHub - ZLMediaKit/ZLMediaKit: WebRTC/RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181/SRT server and client framework based on C++11 文檔里面提供了各個系…

Holoens2開發報錯記錄02_通過主機獲取彩色和深度數據流常見錯誤

01.E1696 E1696 無法打開源文件 “stdio.h” 解決方法&#xff1a; 更新一下SDK 1&#xff09;打開Visual Studio Installer&#xff0c;點擊修改 2&#xff09;安裝詳細信息中自己系統對應的SDK&#xff0c;點擊修改即可 02.WinError 10060 方法來源 解決方法&#xff1a…

【Qt之QQuickWidget】QML嵌入QWidget中

由于我項目開始使用Widgets,換公司后直接使用QML開發&#xff0c;沒有了解過如何實現widget到qml過渡&#xff0c;恰逢面試時遇到一家公司希望從widget遷移到qml開發&#xff0c;詢問相關實現&#xff0c;一時語塞&#xff0c;很尷尬&#xff0c;粗略研究并總結下。 對qwidget嵌…

從單片機的啟動說起一個單片機到點燈發生了什么下——使用GPIO點一個燈

目錄 前言 HAL庫對GPIO的抽象 核心分析&#xff1a;HAL_GPIO_Init 前言 我們終于到達了熟悉的地方&#xff0c;對GPIO的初始化。經過漫長的鋪墊&#xff0c;我們終于歷經千辛萬苦&#xff0c;來到了這里。關于GPIO的八種模式等更加詳細的細節&#xff0c;由于只是點個燈&am…