当页面首次加载时,下面代码生成的删除按钮可以正常工作。但是,如果您更改了其中一个<textarea>
元素中的文本,则删除按钮将不再正确工作。我该如何解决这个问题?
import { LitElement, html } from 'lit-element';
class MyElement extends LitElement {
static get properties() {
return {
list: { type: Array },
};
}
constructor() {
super();
this.list = [
{ id: "1", text: "hello" },
{ id: "2", text: "hi" },
{ id: "3", text: "cool" },
];
}
render() {
return html`${this.list.map(item =>
html`<textarea>${item.text}</textarea><button id="${item.id}" @click="${this.delete}">X</button>`
)}`;
}
delete(event) {
const id = event.target.id;
this.list = this.list.filter(item => item.id !== id);
}
}
customElements.define("my-element", MyElement);
repeat
指令。 - abrahamthis.list
,它应该使用初始值进行呈现(如果您进行检查,它确实这样做)。 - mishu