我正在從 skidList 數組創建列表并處理每個 skid 上的復制和刪除操作以及單擊刪除按鈕我調用的deleteSkid方法刪除該索引處的 skid 并更新列表。但是,它不是刪除特定索引處的 skid,而是刪除數組列表中的最后一個 skid。const CreateNewTab = () => { const [skidList, setSkidList] = useState([]); const [productNameMap, setproductNameMap] = useState({}); useEffect(() => { let skidList = []; let newSkid = {}; newSkid["2"] = "0"; newSkid["3"] = "0"; newSkid["4"] = "0"; skidList.push(newSkid); setSkidList([...skidList]); let productNameMap = {}; productNameMap["2"] = "PEN"; productNameMap["3"] = "PENCIL"; productNameMap["4"] = "ERASER"; setproductNameMap({ ...productNameMap }); }, []); const updateProductQuantity = (skid, key, newQuantity, index) => { console.log("Inside update Skid Quantity Index= " + index); skid[key] = newQuantity; let newSkidList = skidList; newSkidList.splice(index, 1, skid); console.log(newSkidList); setSkidList([...newSkidList]); }; const deleteSkid = (index) => { console.log(index); let newSkidList = skidList; newSkidList.splice(index, 1); console.log("Skid deleted from: " + newSkidList); setSkidList([...newSkidList]); }; const insertSkid = (skid) => { setSkidList(skidList.concat([{ ...skid }])); }; return ( <div> {skidList.flatMap((skid, index) => ( <div style={{ marginRight: "0", paddingRight: "0" }}> <Row style={{ margin: "0", padding: "0" }}> <Col span={19}> {Object.keys(skid).map((key) => ( <Row> <Col span={16}> <h6>{productNameMap[key.toString()]}</h6> </Col> <Col span={8}> <InputNumber min={0} defaultValue={skid[key]}
如何使用 onClick 方法刪除對象并更新數組
莫回無
2023-06-09 10:59:57