2 回答

TA貢獻1817條經(jīng)驗 獲得超14個贊
要僅觸發(fā)一個要單擊的元素,您必須傳遞索引
? ? function App() {
? ? ? const [open, setOpen] = useState(false);
? ? ? const [selectedRow, setSelectedRow] = useState(undefined);
? ??
? ? ? const onSelectedRow = (index) => {
? ? ? ?setSelectedRow(index);
? ? ? ?setOpen(true);
? ? ?}
? ??
? ? ? return (
? ? ? ? <div className="container mt-5">
? ? ? ? ? <MDBRow>
? ? ? ? ? ? {data &&
// here you will get the index
? ? ? ? ? ? ? data.map((item,index) => (?
? ? ? ? ? ? ? ? <MDBCol md="7" lg="7" key={item.id} className="mb-4">
? ? ? ? ? ? ? ? ? {!open && (
? ? ? ? ? ? ? ? ? ? <>
? ? ? ? ? ? ? ? ? ? ? <div className="font-weight-bolder float-left pr-2">
? ? ? ? ? ? ? ? ? ? ? ? {item.name}
? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? <div className="float-right pr-2">
// Now onClick pass the index of selected row to onSelectedRow
? ? ? ? ? ? ? ? ? ? ? ? <button
? ? ? ? ? ? ? ? ? ? ? ? ? onClick={() =>onSelectedRow(index)}
? ? ? ? ? ? ? ? ? ? ? ? >
? ? ? ? ? ? ? ? ? ? ? ? ? Modifier
? ? ? ? ? ? ? ? ? ? ? ? </button>
? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? </>
? ? ? ? ? ? ? ? ? )}
// here add condition to open selected row
? ? ? ? ? ? ? ? ? { (open === true && selectedRow === index) ? (
? ? ? ? ? ? ? ? ? ? <UpdateData
? ? ? ? ? ? ? ? ? ? ? id={item.id}
? ? ? ? ? ? ? ? ? ? ? name={item.name}
? ? ? ? ? ? ? ? ? ? ? onAbort={() => setOpen(false)}
? ? ? ? ? ? ? ? ? ? ? submit={() => setOpen(false)}
? ? ? ? ? ? ? ? ? ? />
? ? ? ? ? ? ? ? ? ) : null
? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? </MDBCol>
? ? ? ? ? ? ? ))}
? ? ? ? ? </MDBRow>
? ? ? ? </div>
? ? ? );
? ? }
添加回答
舉報