我想使用一个函数来设置表格单元格的各个内容。
在这个例子中,我想用<strong>
- 标签包装状态
(我不编辑模板,因为在我的应用程序中它存储在一个组件中,多次使用...)
tableData: [
{
"name": "test1",
"status": "1"
},
{
"name": "test2",
"status": "0"
},
{
"name": "test3",
"status": "1"
}
],
columns: {
name: {
title: "name"
},
status: {
title: "status",
content: function(entry) {
return "<strong>" + entry.status + "</strong>";
}
}
}
我在value.content.call()
循环中尝试了类似v-for
的smth,但这不起作用。
JsFiddle: https://jsfiddle.net/7anuorbu/4/
答案 0 :(得分:2)
您可以使用v-html的帮助,它负责在视图中呈现html。在HTML中,您可以像这样调用函数:
<tr v-for="entry in tableData">
<td v-for="(value, key) in columns" v-html="value.content(entry)">
</td>
</tr>
为了完成这项工作,我也修改了columns
数据,因为这两个元素都需要有内容。
columns: {
name: {
title: "name" ,
content: function(entry) {
return "<span>" + entry.name + "</span>";
}
},
status: {
title: "status",
content: function(entry) {
return "<strong>" + entry.status + "</strong>";
}
}
整个工作代码为here。