所以这很难解释,所以请耐心等待,如果有任何不清楚的地方,请问我。我正在尝试创建一个动态表,因此每个输入都保存在数据库中,然后在另一个站点上显示。我正在使用那个网站生成器 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。
所以有人可以帮忙吗?我有点走到了死胡同,我真的需要帮助
非常感谢!