我想在React中使用Material-UI中的列表,其中列表也具有嵌套項目。我有這樣的代碼:如何使Material UI List只打開一個List Item?
<List>
{this.state.categories.map(category => {
return (
<ListItem key={category.categoryID}
primaryText={category.name}
nestedItems={[
category.subcategories.map(subcat => {
return (
<ListItem key={subcat.subcatID}
primaryText={subcat.name} />
)
})
]} />
)
})}
</List>
雖然,在它的工作原理目前的形式,它具有列表的默認設置,這意味着我可以擴展多個ListItems
看到自己nestedItems
。但是,我想要有類似手風琴的行爲。用戶每次只能擴展一個ListItem
以查看其nestedItems
。所以,如果一個已經擴展,並且用戶點擊擴展另一個,那麼已經擴展的第一個應該被關閉,並且應該擴展新按下的那個。任何想法如何使用Material UI中的List
元素來實現此目的?
但是,這仍然可以擴展儘可能多的項目,我想要的。 – typos
雅,默認情況下,我們可以打開任何項目但沒有列表項「open」的屬性,我們可以使用它來控制打開和關閉行爲,使用它並一次只打開一個項目,它將起作用。 –
@typos檢查更新的答案,本地工作正常,讓我知道你是否有任何疑問:) –