【发布时间】:2020-04-29 08:54:22
【问题描述】:
我希望有以下行为:
- 表格中间的边框,将表格分成两部分
- 我想逐项对行进行“分组”,这意味着我想要在项目更改时进行可见的分隔
对于1,没问题
<b-table :fields="fields"
:items="incoherences"
:tbody-tr-class="rowClass"
></b-table>
// (computed property)
get fields() {
if (this.incoherences.length === 0) return null
const fields = Object.keys(this.incoherences[0])
return fields.map(field => {
if (field === 'devis2') {
return {
key: field,
tdClass: 'with-left-border',
thClass: 'with-left-border',
}
} else {
return field
}
})
}
我们看不太清楚,但 Date Fin1 和 Devis2 列之间存在垂直边框。每行之间也有一个边框。
在图像中,我想在底部项目 14 有一个边框(将它们组合在一起),然后将 15, 16, 17,... 单独分组。所以我做了这个代码
lastItemIdBrowser = 0
// (method)
rowClass(item: Incoherence, type: any) {
let ret = false
if (!item || type !== 'row') return
if (item.item1 !== this.lastItemIdBrowser && this.lastItemIdBrowser !== 0) ret = true
this.lastItemIdBrowser = item.item1
if (ret) return 'with-top-border'
}
但它没有效果。为了看到预期的效果,我必须给表格 borderless 道具,但后来我失去了所有其他边框:
<b-table :fields="fields"
:items="incoherences"
:tbody-tr-class="rowClass"
borderless
></b-table>
有人知道如何在不丢失其他功能的情况下结合这些功能吗?
【问题讨论】:
标签: vue.js bootstrap-vue