【问题标题】:B-table tdClass based on adjacent cell value基于相邻单元格值的 B 表 tdClass
【发布时间】:2020-04-06 14:19:51
【问题描述】:

示例代码:

   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 一样访问它,但我在文档中没有找到任何信息。

有可能吗?

【问题讨论】:

    标签: javascript vue.js bootstrap-vue


    【解决方案1】:

    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>

    【讨论】:

    • 工作就像一个魅力。我看到的示例仅使用 (item) 参数。谢谢。
    • @ZavyalovDenis 担心。如果您有任何疑问,reference 部分可能是检查的好地方。
    猜你喜欢
    • 1970-01-01
    • 2023-01-17
    • 1970-01-01
    • 2015-02-27
    • 2013-04-17
    • 2018-06-04
    • 1970-01-01
    • 2019-05-21
    • 1970-01-01
    相关资源
    最近更新 更多