第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

反應(yīng)從對象數(shù)組中刪除項(xiàng)目

反應(yīng)從對象數(shù)組中刪除項(xiàng)目

弒天下 2023-04-20 16:21:09
我在本地存儲中有一個購物車項(xiàng)目const cart = [  {_id: 'abcd1234', productName: 'product1', price: '100'},  {_id: 'abcd12345', productName: 'product2', price: '200'},  {_id: 'abcd123456', productName: 'product3', price: '150'},  {_id: 'abcd1234567', productName: 'product4', price: '175'},];并將其映射以顯示購物車項(xiàng)目,并使用按鈕刪除項(xiàng)目<Container>      <div>      {        cart.map(item => (        <p>item.productName</p>        <p>item.price</p>        <i class="fas fa-trash-alt mr-1" style={{ color: '#ff6b6b' }} onClick={removeProduct}></i>))      }      </div></Container>這是我要刪除的功能  const removeProduct = () => {    const cart = JSON.parse(localStorage.getItem("cartProduct"));    let indexToRemove = 1;    cart.splice(indexToRemove, 1)    localStorage.setItem("cartProduct", JSON.stringify(cart));    window.location.reload(); };每次我嘗試刪除一個產(chǎn)品2、產(chǎn)品3或產(chǎn)品4時,刪除的是之前的產(chǎn)品。比如我要去掉product4,那么去掉的就是product3。當(dāng)只剩一件商品時,根本無法刪除。你可以幫幫我嗎?謝謝
查看完整描述

2 回答

?
30秒到達(dá)戰(zhàn)場

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個贊

您需要將當(dāng)前項(xiàng)目的索引發(fā)送給removeProduct函數(shù),以便它知道要刪除哪個項(xiàng)目。


<Container>

  <div>

    {

      cart.map((item, index) => ({

        <p>item.productName</p>

        <p>item.price</p>

        <i class="fas fa-trash-alt mr-1" style={{ color: '#ff6b6b' }} onClick={() => this.removeProduct(index)}></i>

      ))

    }

  </div>

</Container>

而在removeProduct功能上,你必須刪除該index位置的項(xiàng)目。


const removeProduct = (indexToRemove) => {

    const cart = JSON.parse(localStorage.getItem("cartProduct"));

    cart.splice(indexToRemove, 1)

    localStorage.setItem("cartProduct", JSON.stringify(cart));

    window.location.reload();

};


查看完整回答
反對 回復(fù) 2023-04-20
?
慕婉清6462132

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個贊

更改 removeproduct 代碼如下。并將 product-id 作為參數(shù)傳遞給函數(shù)。


const removeProduct = (productId) => {

    let cart = JSON.parse(localStorage.getItem("cartProduct"));

    cart = cart.filter(productData => productData._id !== productId)

    localStorage.setItem("cartProduct", JSON.stringify(cart));

    window.location.reload();

 };

有關(guān)filter方法的更多詳細(xì)信息,請參閱 MDN 文檔。


如下更改您的組件以將 id 參數(shù)傳遞給函數(shù)。


<Container>

      <div>

      {

        cart.map(item => (

         <p>item.productName</p>

         <p>item.price</p>

         <i

          class="fas fa-trash-alt mr-1"

          style={{ color: '#ff6b6b' }}

          onClick={() => removeProduct(item._id)}

         ></i>

        ))

      }

      </div>

</Container>


查看完整回答
反對 回復(fù) 2023-04-20
  • 2 回答
  • 0 關(guān)注
  • 135 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號