我有一個簡單的清單,其中每個項目都有一個刪除按鈕。當我檢查第一個項目然后將其刪除時,列表會更新,刪除該項目,但會選中下一個項目的復選框。下一項的屬性正確。這是我的代碼:import { LitElement, html } from 'lit-element';class CheckList extends LitElement { static get properties() { return { items: { type: Array }, }; } constructor() { super(); this.items = [ { id: 1, text: 'Item 1', isDone: false, }, { id: 2, text: 'Item 2', isDone: false, }, ]; this.toggleCheck = this.toggleCheck.bind(this); this.deleteItem = this.deleteItem.bind(this); } render() { return html` <ul> ${this.items.map(item => html` <li> <input type="checkbox" value=${item.id} ?checked=${item.isDone} @click=${this.toggleCheck} > ${item.text} <button @click=${this.deleteItem}>X</button> </li> `)} </ul> `; } toggleCheck(e) { const id = Number(e.target.value); this.items = this.items.map(item => { if (item.id === id) { item.isDone = !item.isDone; } return item; }); } deleteItem(e) { const id = Number(e.target.parentNode.querySelector('input').value); this.items = this.items.filter(item => item.id !== id); }}customElements.define('check-list', CheckList);https://stackblitz.com/edit/typescript-fylwxb
LitElement不更新列表中的復選框
大話西游666
2021-05-03 17:43:52