react使用tabs和tree组件联动切换后台数据

首先,引入封装好的接口

import { getTreeData} from '@/services/test';

定义树的数据变量和tabs的key变量,初始值分别为空数组和'sing'。

const [treeData, setTreeData] = useState<any>([])
const [activeKey, setActiveKey] = useState('sing');

定义函数,调后台接口,传所需数值,将activeKey写成可变值,更新treeData数据。

const getList = async () => {
    const res = await getTreeData({
      keyData: `${activeKey}`,
    });
    setTreeData(res);
  };

将树的数据初始化出来,写入需要改变的activeKey。

useEffect(() => {
    getList();
  }, [activeKey]);

dom部分(这里使用PageContainer自带的tabs)

<PageContainer
    title="切换树"
    tabActiveKey={activeKey} //初始高亮tab
    onTabChange={key => {
        setActiveKey(key);
      }} //切换tabs
    tabList={[
        {
          tab: '唱',
          key: 'sing',
        },
        {
          tab: '跳',
          key: 'dance',
        },
        {
          tab: '拉普',
          key: 'rap',
        },
        {
          tab: '篮球',
          key: 'basketball',
        },
      ]}
>
    <Layout>
       <Layout.Sider
           width={260}
       >
           <Tree
               showLine
               treeData={treeData}
            />
        </Layout.Sider>
    </Layout>
</PageContainer>

效果图:(保密需要,不显示真实数据,但可以看到数据的切换效果)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

eyuiomvtywn

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

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

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

打赏作者

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

抵扣说明:

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

余额充值