摘要:最近在使用做左側(cè)導(dǎo)航的時候遇到了一點(diǎn)難纏的小問題,由于傳統(tǒng)中標(biāo)簽包裹子元素組成鏈接的思維習(xí)慣,加上標(biāo)簽不能包裹子元素,導(dǎo)航部分一開始采用包裹的結(jié)構(gòu)看起來不錯,路由跳轉(zhuǎn)正常,然而由于組件全都是行內(nèi)樣式,寫在里的沒有辦法覆蓋掉它,所以。
最近在使用material-ui做左側(cè)導(dǎo)航的時候遇到了一點(diǎn)難纏的小問題,由于傳統(tǒng)中a標(biāo)簽包裹子元素組成鏈接的思維習(xí)慣,加上MenuItem標(biāo)簽不能包裹子元素,導(dǎo)航部分一開始采用NavLink包裹MenuItem的結(jié)構(gòu):
[/*data*/].map(link =>, )}
看起來不錯,路由跳轉(zhuǎn)正常,然而由于Material-UI組件全都是行內(nèi)樣式,寫在NavLink里的style沒有辦法覆蓋掉它,所以GG。
于是我嘗試把樣式寫在MenuItem組件里,靜態(tài)時候倒是好用了,但Material-UI的組件是沒有activeStyle這個屬性的,選中時候的樣式又成了難題,可以說很氣人了...
(順帶一提MenuItem組件其父組件Menu的selectedMenuItemStyle屬性是不能在這種情況下其作用的~
在百般煩躁,文檔都不知道翻了幾遍之后,終于在國外友站上看到了大神提到的這個屬性:
containerElement
(此處應(yīng)有哆啦A夢道具聲)
這個屬性的描述如下:
The element to use as the container for the ListItem. Either a string to use a DOM element or a ReactElement. This is useful for wrapping the ListItem in a custom Link component. If a ReactElement is given, ensure that it passes all of its given props through to the underlying DOM element and renders its children prop for proper integration
是的你們看出來了,這是屬性是屬于ListItem的!MenuItem的文檔我翻來覆去看了幾百遍,沒有這個屬性!我本著死馬當(dāng)活馬醫(yī)的態(tài)度,拿來塞進(jìn)了MenuItem里,仙女們,它管用!
于是,將代碼改成以下結(jié)構(gòu)之后,期待著問題解決,美滋滋:
[/*data*/].map(link => } />, )}
噫?并沒有解決?
再次查看元素,絞盡腦汁捋了半天,發(fā)現(xiàn)MenuItem這個小婊砸在渲染的時候,會寄生在NavLink生成的a標(biāo)簽上,并用自己標(biāo)簽上的樣式完全覆蓋掉它的style屬性。媽耶,簡直不要臉咯。
再改:
[/*data*/].map(link => } />, )}
OK!一切如愿以償,買呆大喜,買呆大喜~?
(蠢蠢的小問題,希望能夠幫到人~
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/89463.html
摘要:最近在使用做左側(cè)導(dǎo)航的時候遇到了一點(diǎn)難纏的小問題,由于傳統(tǒng)中標(biāo)簽包裹子元素組成鏈接的思維習(xí)慣,加上標(biāo)簽不能包裹子元素,導(dǎo)航部分一開始采用包裹的結(jié)構(gòu)看起來不錯,路由跳轉(zhuǎn)正常,然而由于組件全都是行內(nèi)樣式,寫在里的沒有辦法覆蓋掉它,所以。 最近在使用material-ui做左側(cè)導(dǎo)航的時候遇到了一點(diǎn)難纏的小問題,由于傳統(tǒng)中a標(biāo)簽包裹子元素組成鏈接的思維習(xí)慣,加上MenuItem標(biāo)簽不能包裹子元...
摘要:當(dāng)年的加載在沒有前端工程化之前,基本上是我們是代碼一把梭,把所需要的庫和自己的代碼堆砌在一起,然后自上往下的引用就可以了。而且對于前后端的技術(shù)要求較高,所以對于項目未必是最有效的方案。 當(dāng)年的 js 加載 在沒有 前端工程化之前,基本上是我們是代碼一把梭,把所需要的庫和自己的代碼堆砌在一起,然后自上往下的引用就可以了。 那個時代我們沒有公用的cdn,也沒有什么特別好的方法來優(yōu)化加載j...
摘要:如果將添加到當(dāng)前組件,并且當(dāng)前組件由包裹,那么將引用最外層包裝組件的實例而并非我們期望的當(dāng)前組件,這也是在實際開發(fā)中為什么不推薦使用的原因,使用一個回調(diào)函數(shù)是一個不錯的選擇,也同樣的使用的是回調(diào)函數(shù)來實現(xiàn)的。 回顧:上一篇講了BrowserRouter 和 Router之前的關(guān)系,以及Router實現(xiàn)路由跳轉(zhuǎn)切換的原理。這一篇來簡短介紹react-router剩余組件的源碼,結(jié)合官方文...
摘要:如果將添加到當(dāng)前組件,并且當(dāng)前組件由包裹,那么將引用最外層包裝組件的實例而并非我們期望的當(dāng)前組件,這也是在實際開發(fā)中為什么不推薦使用的原因,使用一個回調(diào)函數(shù)是一個不錯的選擇,也同樣的使用的是回調(diào)函數(shù)來實現(xiàn)的。 回顧:上一篇講了BrowserRouter 和 Router之前的關(guān)系,以及Router實現(xiàn)路由跳轉(zhuǎn)切換的原理。這一篇來簡短介紹react-router剩余組件的源碼,結(jié)合官方文...
閱讀 2332·2021-11-24 10:18
閱讀 3414·2021-09-22 15:35
閱讀 3356·2021-09-13 10:37
閱讀 3778·2021-09-06 15:14
閱讀 2082·2021-09-06 15:02
閱讀 2227·2021-09-02 15:11
閱讀 559·2019-08-30 15:53
閱讀 3084·2019-08-29 16:15