当前位置: 首页 > news >正文

ant 布局组件 组件等高设置

背景:

想实现一个和content等高的侧边栏,并增加侧边栏导航。

ant组件概述

  • Layout:布局容器,其下可嵌套 Header Sider Content Footer 或 Layout 本身,可以放在任何父容器中。
  • Header:顶部布局,自带默认样式,其下可嵌套任何元素,只能放在 Layout 中。
  • Sider:侧边栏,自带默认样式及基本功能,其下可嵌套任何元素,只能放在 Layout 中。
  • Content:内容部分,自带默认样式,其下可嵌套任何元素,只能放在 Layout 中。
  • Footer:底部布局,自带默认样式,其下可嵌套任何元素,只能放在 Layout 中。

实现代码:

1、先实现自定义侧边栏的导航组件

// Sidebar.js
import React from 'react';
import { Menu } from 'antd';const Sidebar = () => (<Menumode="inline"defaultSelectedKeys={['1']}style={{ height: '100%', borderRight: 0 }}><Menu.Item key="1">选项1</Menu.Item><Menu.Item key="2">选项2</Menu.Item><Menu.Item key="3">选项3</Menu.Item></Menu>
);export default Sidebar;

2、在主组件页面中,引入子组件Sidebar组件

import React from 'react';
import { Layout } from 'antd';
import Sidebar from './Sidebar'; // 引入自定义组件
const { Header, Footer, Sider, Content } = Layout;const App = () => (
// 自定义函数,用于渲染侧边导航const renderSidebar = () => (<Sider width={200} className="site-layout-background"style={{ backgroundColor: 'white' }}><Sidebar />  //自定义组件</Sider>);<Layout style={{ minHeight: '100vh' }}> {/* 设置最小高度为视口高度 */}<Header className="header">{/* 头部内容 */}</Header>{renderSidebar()} {/* 使用自定义函数渲染侧边导航 */}<Layout><Header style={{ backgroundColor: 'grey' }}>Header</Header><Content style={{ margin: '24px 16px 0' }}>Content</Content><Footer style={{ textAlign: 'center' }}>Footer</Footer></Layout></Layout>
);export default App;

说明:

1、外层的Layout组件设置了minHeight: '100vh',这意味着它会至少占满整个视口的高度

2、内部的Sider和另一个Layout(包含Header、Content、Footer)将会自动填充这个高度,从而实现等高的效果。

3、自定义子组件Sidebar

4、使用自定义函数:renderSidebar是一个自定义函数,它返回一个Sider组件,该组件内部使用了我们定义的Sidebar组件。在Layout结构中,通过调用{renderSidebar()}来渲染侧边导航。

http://www.lryc.cn/news/308366.html

相关文章:

  • 不可多得的干货,网易的朋友给我这份339页的Android面经
  • Qt项目:网络1
  • 软件测试有哪些常用的测试方法?
  • 【C语言基础】:深入理解指针(一)
  • 单点故障解决方案之Smart Link与Monitor Link
  • QT之QSharedMemory共享内存
  • string 类 经典习题之数字字符相加
  • 通讯录——C语言实现
  • 优思学院|3步骤计算出Cpk|学习Minitab
  • 【Java编程进阶之路 06】深入探索:JDK、JRE与JVM的关系与差异
  • Linux中的touch命令
  • 智能驾驶规划控制理论学习-基于采样的规划方法
  • 二叉树——二叉树所有路径
  • 算法训练营day38(补),动态规划6
  • 【java、微服务、nacos】nacos服务分级存储模型
  • 共享旅游卡:打开0费用旅游新纪元,探索40+精彩线路
  • MQTT协议解析:揭秘固定报头、可变报头与有效载荷的奥秘
  • 备战蓝桥杯---树形DP基础3
  • IEEE Transactions on Industrial Electronics工业电子TIE修改稿注意事项及提交须知
  • c#委托的三种实现方式
  • c/c++|红黑树|分析应用|锚点
  • 2-29算法习题总结
  • 当Linux 磁盘满了,查看大文件并删除
  • STL -萃取特性迭代器
  • python pandas写入csv
  • oracle 数据库建集群式数据库的DBLINK的语法
  • 基于JAVA的毕业设计分配选题系统 开源项目
  • Android 接入指纹识别
  • 如何通过代理IP安全使用Linkedln领英?
  • 嵌入式驱动学习第一周——定时器与延时函数