簡體   English   中英

如何顯示列表的單個隱藏元素並隱藏 rest

[英]How to show single hidden element of list and hide the rest

我有一個元素的列列表,每個元素都有隱藏的 div,我想在點擊時顯示隱藏的元素,但是當我點擊另一個 div 時,我想隱藏當前並顯示我最后點擊的那個,我怎么能做對了嗎?

你可以有兩個特定的類,一個隱藏元素,一個顯示元素。 單擊元素時,您可以使用 jQuery 或 JavaScript 來切換 class 顯示該特定元素的隱藏 div 的元素並隱藏任何其他 div 的所有內容。

您正在渲染的組件可以采用活動道具,並且如果該道具為真,則僅渲染第二個 div。

這樣,您就可以跟蹤在父項中選擇了哪個元素。

我整理了一個內容非常簡單的工作示例

import React, { useState } from 'react';

const ListItem = ({id, isActive, handleClick}) => {
    return (
        <div id={id} onClick={handleClick}>
        Here is the element
            {!!isActive && <div>I am the selected element</div>}
        </div>
    );
};

export const List = () => {
    const [selectedItem, setSelectedItem] = useState();
    const items = ['one', 'two', 'three'];
    
    const handleClick = (event) => {
        setSelectedItem(event.target.id);
    }

    return (
        <div>
            {items.map(item => (
                <ListItem id={item} isActive={item===selectedItem} handleClick={handleClick}/>
            ))}
        </div>
    )
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM