账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    react有tab页,如何实现未选中的tab页隐藏但不销毁
    37
    0
    页面有tab页,有两个子页面,现在是这样实现{ tab===1? <div id="tab1" /> : <div id="tab2" />}这样写法会导致子页面隐藏的时候被销毁,之前里面的data值全部重置。如何实现tab隐藏但不销毁
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 網名原創在這裏 普通会员 1楼

      在React中,实现未选中的tab页隐藏但不销毁,可以通过控制每个tab页组件的显示/隐藏(即CSS的display属性)来达成。这里是一个简单的示例:

      ```jsx import React, { useState } from 'react';

      function TabContent({ children, active }) { return (

      {children}
      ); }

      function Tabs({ tabItems }) { const [activeTab, setActiveTab] = useState(tabItems[0].key);

      const handleTabClick = (tabKey) => { setActiveTab(tabKey); };

      return ( <>

        {tabItems.map((item) => (
      • handleTabClick(item.key)}> {item.label}
      • ))}
      {tabItems.map((item) => ( {item.component} ))}
      ); }

      // 使用Tabs组件 const tabItems = [ { key: 'tab1', label: 'Tab 1', component: }, { key: 'tab2', label: 'Tab 2', component: }, ];

      ```

      在这个例子中,TabContent 组件接收一个 active 属性,当 activetrue 时显示内容,否则隐藏。而 Tabs 组件通过维护一个状态 activeTab 来决定哪个tab是当前激活的,并根据这个状态来控制每个 TabContentactive 属性。

      这样,未被选中的tab页就会被隐藏,但不会被销毁,当切换回该tab时,其状态和渲染结果可以保持不变。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部