antd design 实现页面详情页顶部的tab切换

这是一个使用React和Ant Design库创建页面详情页顶部Tab切换功能的示例代码。组件通过维护状态来跟踪当前选中的Tab,并在Tab变更时更新内容显示。TabList包括‘总览’和‘详情’两个选项,对应不同的内容区域。内容区域根据tabActiveKey渲染对应的Card组件,展示不同内容。
部署运行你感兴趣的模型镜像

实现页面详情页顶部的tab切换

在这里插入图片描述

代码展示

import {
    Card,
    Form,
} from "antd";
import React, { Component } from "react";
import { PageHeaderWrapper } from "@ant-design/pro-layout";
class NameSpaceDetail extends Component {
    state = {
        tabActiveKey: "overview",
    };
    render() {
        const {
            tabActiveKey,
        } = this.state;
        
        const tabList = () => {
            return [
                {
                    key: "overview",
                    tab: "总览"
                },
                {
                    key: "detail",
                    tab: "详情"
                }
            ];
        };
        const onTabChange = (tabActiveKey) => {
            switch (tabActiveKey) {
                case "overview":
                    break;
                case "detail":
                    break;
                default:
                    break;
            }
            this.setState({
                tabActiveKey: tabActiveKey
            });
        };
        const contentList = {
            overview: (
                <>
                    <div>
                        1111
                    </div>
                </>
            ),
            detail: (
                <>
                    <Card bordered={false}>
                    <div>
                        2222
                    </div>
                    </Card>
                </>
            )
        };
        return (
            <>
                <PageHeaderWrapper
                    tabActiveKey={tabActiveKey}
                    onTabChange={onTabChange}
                    tabList={tabList()}
                >
                    {contentList[tabActiveKey]}
                </PageHeaderWrapper>
            </>
        );
    }
}
export default Form.create()(NameSpaceDetail);

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

在Vue-antd-design中,你可以通过组件的生命周期钩子`beforeMount`, `mounted`, 和 `updated` 来实现这样的功能。首先,你需要确保你已经安装并配置了Vue-Antd-Design库,特别是Ant Design Table组件。 1. **设置初始状态**: 在组件的data里,创建一个变量表示当前显示的列是否包含额外列,比如`showExtraColumn`初始化为false: ```javascript data() { return { showExtraColumn: false, // ... 其他数据 columns: [ {/* 初始列配置 */} ] }; }, ``` 2. **响应式处理Tab切换**: 使用`v-model`绑定`showExtraColumn`到Tab的状态变化。当Tab切换到特定值(如1或4)时,将`showExtraColumn`设为true,触发添加新列的更新: ```html <template> <a-tabs v-model="activeKey"> <!-- ... Tab内容 --> <a-tab-pane :key="index" :label="tabLabel" v-bind:class="{ active: index === 1 || index === 4 }" @tab-click="handleTabClick(index)"> <!-- 表格部分 --> </a-tab-pane> <!-- ... 其他Tab --> </a-tabs> </template> <script> methods: { handleTabClick(index) { this.showExtraColumn = index === 1 || index === 4; } } </script> ``` 3. **动态修改列**: 当`showExtraColumn`改变时,在`updated`生命周期钩子里检查这个条件,然后动态地修改列数组: ```javascript updated() { if (this.showExtraColumn) { const newColumns = [...this.columns]; // 添加新列 newColumns.push({ title: '新增列标题', // 根据需求填充列信息 dataIndex: 'newDataIndex', // ... 可能需要的其他配置 }); this.columns = newColumns; // 更新表格列 } else { // 移除新增列 this.columns = this.columns.filter(col => col.dataIndex !== 'newDataIndex'); } } ``` 注意:上述代码示例是基于假设你的表格是在每个TabPane内渲染的,实际项目可能会有所不同。确保你已经在Vue实例上正确设置了`ant-design-vue`插件,并且表格组件支持动态列添加。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知知洋洋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值