【问题标题】:Quasar conditional style of cell in component q-table组件 q-table 中单元格的 Quasar 条件样式
【发布时间】:2020-03-07 12:34:13
【问题描述】:

我想更改 q-table 组件单元格中的颜色样式。

https://codepen.io/abkrim-the-flexboxer/pen/eYYjPZZ

{
  name: 'Active',
  align: 'center',
  label: 'Active',
  field: row => row.active,
  style: val => val ? 'color: red;' : 'color: black;',
  format: val => String(!!val),
  sortable: true
}

但这不起作用。

如果我尝试测试,这适用于所有单元格:

style: 'color: red;'

我认为这是我在 JS 中的代码的错误。

【问题讨论】:

  • 因为 style 属性是根据 val 进行评估的,所以不会使用 v-bind 应用它:(这里只是猜测)。

标签: javascript vuejs2 components cell quasar-framework


【解决方案1】:

我认为使用 as 函数的自定义样式类已从版本 1(Refhttps://github.com/quasarframework/quasar/issues/242https://github.com/quasarframework/quasar/issues/2326)中删除。我试过了,但它不起作用。

{
  label: 'Message',
  field: 'message',
  classes (val) {
    return val.active==1 ? 'bg-red' : 'bg-yellow'
  },
  sort: true,
  width: '500px'
}

所以最好的方法是使用槽自定义单列。

<template v-slot:body-cell-active="props">
  <q-td :props="props" :class="props.row.active==1?'text-red':'text-black'">
    {{props.row.active}}
  </q-td>
</template>

请参考以下代码笔。您需要将活动列的名称更改为小写。

https://codepen.io/Pratik__007/pen/xxxaKxg

【讨论】:

猜你喜欢
  • 2020-09-04
  • 2021-08-31
  • 2021-05-15
  • 2019-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-04
  • 2020-07-01
相关资源
最近更新 更多