React ant 點(diǎn)擊導(dǎo)航條閃爍問(wèn)題解決
問(wèn)題 : 點(diǎn)擊當(dāng)前位置會(huì)出現(xiàn)閃一下的效果

另一種點(diǎn)擊方式 , 不會(huì)閃

原因 : 沒(méi)有傳遞具體的參數(shù)給點(diǎn)擊事件 , 導(dǎo)致在函數(shù)內(nèi)部無(wú)法準(zhǔn)確判斷要展示哪個(gè)子菜單,可能導(dǎo)致頁(yè)面狀態(tài)的短暫變化,出現(xiàn)閃爍效果
代碼 :
// 左側(cè)子菜單彈出
const showSonMenu = routeKey => {
setDrawerVisible(true)
setCollapsed(!collapsed)
setTitle(!title)
// 根據(jù)點(diǎn)擊的父菜單key來(lái)篩選出對(duì)應(yīng)的子菜單并更新顯示內(nèi)容
const targetRoute = routes.find(route => route.key === routeKey)
// 獲取一級(jí)子菜單和二級(jí)子菜單的 key 值
const openKeys = [targetRoute.key]
if (targetRoute.children && targetRoute.children.length > 0) {
openKeys.push(targetRoute.children[0].key) // 假設(shè)展開第一個(gè)二級(jí)子菜單
}
setDefaultOpenKeys(openKeys)
// 更新state或其他方式來(lái)僅顯示目標(biāo)子菜單
setSelectedRoute(targetRoute)
setDrawerVisible(false)
}
// 點(diǎn)擊子菜單
const onClick = e => {
navigate(e.key)
setCurrent(e.key)
}
return (
{drawerVisible ? (
<div className='layoutSon'>
<Menu
onClick={onClick}
defaultOpenKeys={defaultOpenKeys}
selectedKeys={[current]}
mode='inline' //子菜單的樣式是下拉,而不是彈出
theme={Stylebg}
items={selectedRoute ? [selectedRoute] : routes}
/>
</div>
) : null}
// 標(biāo)簽區(qū)域
<Tabs
defaultActiveKey='1'
items={routeList.slice(-1).map((item, index) => {
const id = String(index)
const isLastItem = index === routeList.length - 1
return {
label: (
<div className='breadcrumb-box'>
{index == 0 ? (
<span className='spanIcon'>
<img
src={homeIcon}
alt=''
style={{
width: '17px',
height: '14px',
PointerEvent: 'onne'
}}
/>
</span>
) : null}
{index == 0 ? (
<span
className='location'
onClick={() => showSonMenu(currentPosition)}
>
當(dāng)前位置 : {stairSon}
<span className='slash'>/</span>
</span>
) : null}
<span
onClick={() => {
toRouter(item)
}}
className='breadcrumbTitle'
>
{activeItem?.label}
</span>
</div>
),
key: id
}
})}
)到此這篇關(guān)于React ant 點(diǎn)擊導(dǎo)航條閃爍的文章就介紹到這了,更多相關(guān)React ant 導(dǎo)航條內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
React 添加引用路徑時(shí)如何使用@符號(hào)作為src文件
這篇文章主要介紹了React 添加引用路徑時(shí)如何使用@符號(hào)作為src文件,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06
React使用React.lazy和Suspense實(shí)現(xiàn)組件懶加載
React 提供了 React.lazy 和 Suspense 這兩個(gè)好東西,能讓我們實(shí)現(xiàn)組件的懶加載,下面就跟隨小編一起來(lái)了解一下如何使用它們實(shí)現(xiàn)懶加載的具體步驟吧2025-03-03
ahooks正式發(fā)布React?Hooks工具庫(kù)
這篇文章主要為大家介紹了ahooks正式發(fā)布值得擁有的React?Hooks工具庫(kù)使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
解析TypeError:import_react_native.AppState.removeEventListener
這篇文章主要為大家介紹了TypeError:import_react_native.AppState.removeEventListener?is?not?a?function問(wèn)題解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
Vue?3開發(fā)者轉(zhuǎn)型React保姆級(jí)教程(含實(shí)際項(xiàng)目案例)
從Vue轉(zhuǎn)到React并不難,兩者作為主流前端框架,核心思想(組件化、聲明式編程)一致,但在語(yǔ)法、API設(shè)計(jì)和最佳實(shí)踐上存在差,這篇文章主要介紹了Vue3開發(fā)者轉(zhuǎn)型React保姆級(jí)教程的相關(guān)資料,需要的朋友可以參考下2026-05-05

