javascript - 基于相邻单元格值的 B 表 tdClass
问题描述
示例代码:
export default {
data() {
return {
fields: [
{ key: "some_key", tdClass: "someClass" },
{ key: "another_key"}
],
},
methods: {
someClass(item) {
if (item > 0) {
return "table-success"
}
}
b-table 的 tdClass 接收一个 item 参数,它是单元格的值,因此您可以基于它应用样式。但我需要根据相邻单元格的值返回样式。
我认为可以以某种方式访问父元素(在这种情况下为 row)并像 row.another_key 一样访问它,但我在文档中没有找到任何信息。
有可能这样做吗?
解决方案
tdClass 在调用时发送超过 3 个参数。(value, key, item)
. 因此,您可以使用第三个参数来访问另一个单元格。
window.onload = () => {
new Vue({
el: '#app',
created() {
for(let i = 0; i < 10; i++){
this.items.push({
id: i + 1,
email: "test@test.com"
})
}
},
data() {
return {
items: [],
fields: [
{ key: 'id' },
{ key: 'email', tdClass: "addTdClass" }
]
}
},
methods: {
addTdClass(value, key, item) {
if(item.id % 2)
return "table-primary"
}
}
})
}
<link href="https://unpkg.com/bootstrap@4.3.1/dist/css/bootstrap.min.css" rel="stylesheet"/>
<link href="https://unpkg.com/bootstrap-vue@2.1.0/dist/bootstrap-vue.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.js"></script>
<script src="https://unpkg.com/bootstrap-vue@2.1.0/dist/bootstrap-vue.js"></script>
<div id="app">
<b-table :items="items" :fields="fields">
</b-table>
</div>
推荐阅读
- excel - 默认值 表单控件 Combobox 选择后仍然存在
- reactjs - 输入屏蔽在验证 DatePicker 中不起作用
- node.js - 引导下拉菜单上的链接不起作用
- javascript - 获取大数据以在 Datatable 上呈现 - ReactJS
- javascript - 将对象/方法从 chrome 扩展公开到网页
- android - 如何在 onchangelistener 中设置 listpreference 的值和项目检查
- spring - SpringBoot:如何注入两个具有相同名称的类
- kubernetes - 通过客户端调用部署yaml go示例
- amazon-web-services - 如何获取 AWS Cognito 用户池中所有用户的电子邮件 ID?
- javascript - 在 div 内容框的一角到另一角覆盖文本