Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 设置Vue引导表_行变量和行边距_Vue.js_Bootstrap Vue - Fatal编程技术网

Vue.js 设置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',

我需要一些想法来保管我的Vue布带桌

我有一些数据,如:

  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,这个例子也是有效的。欢迎你。如果你觉得它有用,请考虑接受。