Vue.js 设置Vue引导表_行变量和行边距
我需要一些想法来保管我的Vue布带桌 我有一些数据,如:Vue.js 设置Vue引导表_行变量和行边距,vue.js,bootstrap-vue,Vue.js,Bootstrap Vue,我需要一些想法来保管我的Vue布带桌 我有一些数据,如: const tasks = [ { title: 'title 1', wbs: '0', description: '...' }, { title: 'title 2', wbs: '1', description: '...' }, { title: 'title 3', wbs: '1.1',
const tasks = [
{
title: 'title 1',
wbs: '0',
description: '...'
},
{
title: 'title 2',
wbs: '1',
description: '...'
},
{
title: 'title 3',
wbs: '1.1',
description: '...'
},
{
title: 'title 4',
wbs: '1.1.1',
description: '...'
},
{
title: 'title 5',
wbs: '1.2',
description: '...'
}
]
我的桌子:
<b-table
striped
hover
isRowHeader
:responsive="'md'"
:items="tasks"
:fields="fields"
:per-page="perPage"
:current-page="currentPage"
/>
我需要根据WBS值来定制表格。将0和1的_rowVariant设置为'info',将'warnig'设置为1.1和1.2,将其他设置为'danger'。并根据WBS大小将mergin left添加到标题中。请给出一些实现这一点的想法。Ty提前。添加新的或修改现有的以获得行变量
computed: {
tasksWithRowVariant() {
return tasks?.map((task) => {
let rowVariant
switch (task.wbs) {
case '0':
rowVariant = 'info'
break
case '1':
rowVariant = 'info'
break
case '1.1':
rowVariant = 'warning'
break
case '1.2':
rowVariant = 'warning'
break
default:
rowVariant = 'danger'
}
task._rowVariant = rowVariant
return task
})
}
}
对于边距显示您尝试过的内容,您必须使用slot添加边距,请查看b表文档,它们已经有了很好的示例。添加计算新的或修改现有的以获得行变量
computed: {
tasksWithRowVariant() {
return tasks?.map((task) => {
let rowVariant
switch (task.wbs) {
case '0':
rowVariant = 'info'
break
case '1':
rowVariant = 'info'
break
case '1.1':
rowVariant = 'warning'
break
case '1.2':
rowVariant = 'warning'
break
default:
rowVariant = 'danger'
}
task._rowVariant = rowVariant
return task
})
}
}
对于margin显示您尝试过的内容,您必须使用slot添加margin。请看一下b表文档,它们已经有了很好的示例。我认为使用
tbody tr class
属性可以很好地解决您的问题。在我看来,使用b-vue
的特性比使用其他方法增加代码的复杂性更好
您可以查看以下代码段以获取一个简单的示例:
newvue({
el:“#应用程序”,
数据(){
返回{
字段:[{
关键:“标题”,
},
{
关键字:“wbs”,
“tbody tr类”:(类型、键、项目)=>{
返回“文本危险”
}
},
{
关键字:“说明”,
}
],
项目:[{
标题:“标题1”,
wbs:'0',
说明:“…”
},
{
标题:“标题2”,
wbs:'1',
说明:“…”
},
{
标题:“标题3”,
wbs:'1.1',
说明:“…”
},
{
标题:“标题4”,
工作分解结构:“1.1.1”,
说明:“…”
},
{
标题:“标题5”,
wbs:'1.2',
说明:“…”
}
]
}
},
方法:{
rowClass(项目、类型){
如果(项目wbs<1.1){
返回“表信息”
}否则如果(项目wbs<1.2){
返回“表警告”
}否则{
返回“表危险”
}
}
}
})
我认为使用
tbody tr class
属性是解决问题的好方法。在我看来,使用b-vue
的特性比使用其他方法增加代码的复杂性更好
您可以查看以下代码段以获取一个简单的示例:
newvue({
el:“#应用程序”,
数据(){
返回{
字段:[{
关键:“标题”,
},
{
关键字:“wbs”,
“tbody tr类”:(类型、键、项目)=>{
返回“文本危险”
}
},
{
关键字:“说明”,
}
],
项目:[{
标题:“标题1”,
wbs:'0',
说明:“…”
},
{
标题:“标题2”,
wbs:'1',
说明:“…”
},
{
标题:“标题3”,
wbs:'1.1',
说明:“…”
},
{
标题:“标题4”,
工作分解结构:“1.1.1”,
说明:“…”
},
{
标题:“标题5”,
wbs:'1.2',
说明:“…”
}
]
}
},
方法:{
rowClass(项目、类型){
如果(项目wbs<1.1){
返回“表信息”
}否则如果(项目wbs<1.2){
返回“表警告”
}否则{
返回“表危险”
}
}
}
})
您是否尝试过任何方法,但遇到了任何错误?或者只是想要解决方案?你有没有尝试过任何东西,面对任何错误?或者只是想要解决方案?泰,这可以很好地设置我的行变量。泰,这可以很好地设置我的行变量。泰,这一方法也可以。欢迎。如果你觉得它有用的话,请考虑接受。TY,这个例子也是有效的。欢迎你。如果你觉得它有用,请考虑接受。