【发布时间】:2018-03-02 00:50:20
【问题描述】:
所以我尝试使用下面的代码将行和列插入到表中:
add_to_table(type) {
switch (type) {
case "row":
let columns = this.$refs.table.rows[0].cells.length;
let row = this.$refs.table.insertRow(-1);
row.height = "20px";
for (let i = 0; i < columns; i++) {
let cell = row.insertCell(-1);
cell.innerHTML = " ";
}
break;
case "column":
for (let row of this.$refs.table.rows) {
let cell = row.insertCell(-1);
cell.innerHTML = " ";
}
break;
}
}
但是,这似乎并没有维护 css(没有向其中添加 data-* 东西)。
我目前正在使用v-for 解决这个问题:
<tr v-for="row in rows">
<td v-for="column in columns">
</td>
</tr>
【问题讨论】:
-
你为什么要操纵 DOM(
.innerHTML等)?v-for解决方案是可行的方法。 -
@acdcjunior 可能希望将单元格添加到单个行。这仅允许相等的行和列。也不知道怎么做
colSpan之类的东西。 -
我不知道你的意思,但是使用 Vue 可以更简单地完成。
-
@acdcjunior 这就是我问的原因。我正在申请
colSpanrowSpan以及其他可能导致单元格不等的事情。 -
您能否向我们展示数据(您计划迭代),以便我们可以使用 Vue 试一试?我知道操作 DOM 似乎更简单,但我保证使用 Vue 的最终结果会更好。
标签: html vue.js html-table vuejs2