要实现切换tabs时给tabsTitle赋值最新值,你可以通过在handleTabChange
函数中更新一个状态变量来实现。具体代码如下所示:
import React, { useState } from "react";
import { Tabs } from "antd";
import AmenityLabels from "./AmenityLabels";
const YourComponent = () => {
const hotelNewTagInfo = [
// your hotelNewTagInfo data here
];
const [tabsTitle, setTabsTitle] = useState(""); // 初始化tabsTitle为空字符串
const handleTabChange = (key) => {
const selectedTab = hotelNewTagInfo.find((item) => item.code === key); // 根据key找到对应的tab对象
if (selectedTab) {
setTabsTitle(selectedTab.name); // 更新tabsTitle为最新值
}
};
return (
<Tabs defaultActiveKey="1" onChange={handleTabChange}>
{hotelNewTagInfo.map((item: any, index: any) => (
<Tabs.TabPane tab={item.name} key={item.code}>
<AmenityLabels tabsTitle={tabsTitle} tabsCode={item.code} tabsKey={index.toString()} />
</Tabs.TabPane>
))}
</Tabs>
);
};
export default YourComponent;
在上述代码中,我们使用了React Hooks中的useState
来定义一个状态变量tabsTitle
并初始化为空字符串。在handleTabChange
函数中,根据选择的key值找到对应的tab对象,并更新状态变量tabsTitle
为最新值。然后,在渲染Tabs组件时将最新的tabsTitle
传递给子组件AmenityLabels
的tabsTitle
属性。这样,在切换tabs时,tabsTitle
将会被更新为最新值并传递给子组件。
内容由零声教学AI助手提供,问题来源于学员提问