ZBLOG

const [hotelNewTagInfo, setHotelNewTagInfo] = useState([]); const [activeTab, setActiveTab] = useState(''); // const [tabsCode, setTabsCode] = useState(''); const { activeCode } = getQuery(); useEffect(() => { oneLeveolInfo...

你可以通过修改defaultActiveKey属性来设置默认选中的标签页,将activeCode作为其值即可。然后,在子组件中接收并使用该值。

以下是修改后的代码示例:

const [hotelNewTagInfo, setHotelNewTagInfo] = useState([]);
const [activeTab, setActiveTab] = useState('');
const { activeCode } = getQuery();

useEffect(() => {
    oneLeveolInfo({ type: 'HotelTagType' }).then(res => {
        setHotelNewTagInfo(res.HotelTagType);
        setActiveTab(activeCode || res?.HotelTagType[0].code); // 设置默认选中项为activeCode,如果不存在则使用第一个标签的code
    });
}, []);

const handleTabChange = key => {
    const selectedItem = hotelNewTagInfo.find(item => item.code === key);
    if (selectedItem) {
        setActiveTab(selectedItem?.code);
    }
};

return (
    <div className="service-tag-dict">
        <Tabs defaultActiveKey={activeTab} onChange={handleTabChange}>
            {hotelNewTagInfo.map((item: any, index: any) => (
                <Tabs.TabPane tab={item.name} key={item.code}>
                    <AmenityLabels
                        tabsTitle={activeTab === item.code ? item.name : ''}
                        tabsCode={activeTab === item.code ? item.code : ''}
                    />
                </Tabs.TabPane>
            ))}
        </Tabs>
    </div>
);

在这个例子中,默认选中的标签页会优先使用传递进来的 activeCode,如果没有传递,则会使用第一个标签页的 code 值作为默认选中项。然后,将 activeTab 的值传递给子组件以实现对应的效果。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=16700

分享:
扫描分享到社交APP
{ oneLeveolInfo...&appkey=&pic=&searchPic=true")' title="分享到新浪微博" class="weibo"> { oneLeveolInfo...")' title="分享到QQ好友" class="qq"> { oneLeveolInfo...")' title="分享到QQ空间" class="qqzone">
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?