簡體   English   中英

聚合物3發光元素:requestRender未拾取數組對象更改

[英]Polymer 3 lit-element: Array Object changes not picked up by requestRender

我有一個對象如下。 現在,當我更改屬性並調用requestRender時,它不會觸發。 據我所知,沒有檢測到屬性更改。 我該如何實現?

 static get properties() { return { items: Object } } constructor() { super(); this.items = { list: [{ a: 5, b: 6 },{ a: 5, b: 6 }] } } onClick() { this.items.list[1].a = 10; //change property requestRender(); //doesn't pick up the change... } 

lit-element要求您不變地管理屬性,因此要更新該數據點,將需要執行以下操作:

onClick() {
  let list = this.items.list.slice();
  let item = Object.assign({}, list[1]);
  item.a = 10;
  list[1] = item;
  this.items = {
    list: list
  };
  // will update on it's own with out a render request
}

上面的內容非常完整,但是ES5(ish)可以解決此問題。 也可以使用更現代的JS來做到這一點,從而使其更易於管理。

onClick() {
  this.items.list[1].a = 10;
  this.items = {
    ...this.items
  };
  // will update on it's own with out a render request
}

希望能有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM