[問題]
在全部tab中,點選刪除可正常實作
但是打勾2,3後,到進行中tab,會看到進行中的index與全部tab中的index不一樣
因為過濾過後會回傳新的todos array
但4在進行中tab中index為2)
試著點選4,會發現印出index 2,且不會把4刪除
而是把全部中的index 2那筆(也就是2)給刪掉了
[如何修正?]
在click事件處,呼叫removeTodo時,傳入整個item資訊
(原本只傳入點選item在todos array中的index值)
用點選的id去跟原本todos陣列內的id做比對,找到原本的index位置
*補充:findIndex的用法
[其他寫法]
使用filter,用id將點選到的item過濾掉
-條件為true的會放到一個新array內回傳(與點選物件id不同的todo都保留)
-使用arrow function, 直接return不需寫出
-替換原本的this.todos









沒有留言:
張貼留言