Velo:动态表不刷新

问题描述 投票:0回答:0

所以这很难解释,所以请耐心等待,如果有任何不清楚的地方,请问我。我正在尝试创建一个动态表,因此每个输入都保存在数据库中,然后在另一个站点上显示。我正在使用那个网站生成器 wix。我创建了一个自定义元素,用于创建和更新该表。它从另一个脚本获取数据。所述数据传输有效,这不是问题的一部分。无论如何,我没有实施 attributeChangedCallback 的持续更新,因此它不会每 10 秒刷新一次以检查是否有一些新条目 - 但是。这对于这个问题也不重要(只是一点背景信息)。我的代码如下所示:

页面准备就绪时会发生这种情况

connectedCallback() {
    this.appendChild(createStyle()); //That is just some css
    this.appendChild(createTable());  
  }

当我通过更改属性将数据从我的页面发送到 customElement 时会发生这种情况

attributeChangedCallback(name, oldValue, newValue) {
    if(name === 'data') {
      var data = JSON.parse(newValue);

      for(var iterator = 0; iterator < data.length; iterator++) {
        var element = data[iterator];
        var row1 = element.kopieVonTitel;
        var row2 = element.kopieVonTitel2;
        createTableRow(cell1, cell2);
      }
    }
  }

createTableRow 被调用以使用数据创建该行

const createTableRow = (row1, row2) => {
  var entryTr = document.createElement('tr');
  var entryRow1 = document.createElement('td');
  var entryRow2 = document.createElement('td');
  var entryBtn = document.createElement('td');
  
  entryRow1.textContent = row1;
  entryRow2.textContent = row2;
  entryBtn.textContent = 'Del';
  
  entryTr.appendChild(entryRow1);
  entryTr.appendChild(entryRow2);
  entryTr.appendChild(entryBtn);
  table.appendChild(entryTr);
}

现在问题来了: 它有效-我尝试通过作弊(不是解决方案,只是快速解决以创建始终具有相同数据的一行)。 但是,表格没有更新。 至少我是这么认为的。所以,我的最后一个问题很简单:我怎样才能更新那个表?我用 javascript 标记它,因为我认为它不是特定于 velo 的。

我尝试了什么: 进行这些更改后调用 createTableRow 中的 connectedCallback 函数 在 connectedCallback 中使用 setInterval 每 10 秒将表附加到 DOM。

所以有人可以帮忙吗?我有点走到了死胡同,我真的需要帮助

非常感谢!

javascript dom refresh velo
© www.soinside.com 2019 - 2024. All rights reserved.