2019年1月29日 星期二

(ToDo List專案)S3L24-刪除項目補充說明

[問題]
在全部tab中,點選刪除可正常實作

但是打勾2,3後,到進行中tab,會看到進行中的index與全部tab中的index不一樣
因為過濾過後會回傳新的todos array
(4在全部tab中index為4

但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






















沒有留言:

張貼留言