为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用插槽在 Vuetify 数据表中设置分组行的样式?

如何使用插槽在 Vuetify 数据表中设置分组行的样式?

MMTTMM 2021-11-25 15:22:05
有没有人v-slot在最新的 Vuetify 版本中实现了分组行?他们的例子是这样的:<template>  <v-data-table    :headers="headers"    :items="desserts"    item-key="name"    group-by="category"    class="elevation-1"    show-group-by  ></v-data-table></template><script>  export default {    data () {      return {        headers: [          {            text: 'Dessert (100g serving)',            align: 'left',            value: 'name',          },          { text: 'Category', value: 'category' },        ],        desserts: [          {            name: 'Frozen Yogurt',            category: 'Ice cream',          },          {            name: 'Ice cream sandwich',            category: 'Ice cream',          },          {            name: 'Eclair',            category: 'Cookie',          },          {            name: 'Cupcake',            category: 'Pastry',          },          {            name: 'Gingerbread',            category: 'Cookie',          },          {            name: 'Jelly bean',            category: 'Candy',          },          {            name: 'Lollipop',            category: 'Candy',          },          {            name: 'Honeycomb',            category: 'Toffee',          },          {            name: 'Donut',            category: 'Pastry',          },          {            name: 'KitKat',            category: 'Candy',          },        ],      }    },  }</script>这有效,但我想推出我自己的风格。我试过这样的事情:<template v-slot:group="data">   {{data}}</template>我看到了对象,但缺少样式。据我所知,它在文档中丢失了。如果有人已经实现了这样的东西,将不胜感激。
查看完整描述

1 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

是的,您可以通过从项目道具或硬编码动态添加类来在组中拥有自己的风格


使用 Vuetify 2.x 更新了 codepen:https ://codepen.io/chansv/pen/wvvzXRj?editors = 1010


<div id="app">

  <v-app id="inspire">

    <v-data-table

      :headers="headers"

      :items="desserts"

      item-key="name"

      group-by="category"

      class="elevation-1"

      show-group-by

    >

      <template v-slot:group="props">

   <span class="font-weight-bold">

                 {{props.group }}

              </span>

        <v-data-table

      :headers="props.headers"

      :items="props.items"

      item-key="name"

      hide-default-footer

    >

          <template v-slot:body="{ items }">

            <tbody>

              <tr v-for="item in items" :key="item.name" class="success">

              <td>{{ item.name }}</td>

            </tr>

            </tbody>

          </template>

        </v-data-table>

</template>

   </v-data-table>

  </v-app>

</div>


new Vue({

  el: '#app',

  vuetify: new Vuetify(),

  data () {

    return {

      headers: [

        {

          text: 'Dessert (100g serving)',

          align: 'left',

          value: 'name',

        },

        { text: 'Category', value: 'category' },

      ],

      desserts: [

        {

          name: 'Frozen Yogurt',

          category: 'Ice cream',

        },

        {

          name: 'Ice cream sandwich',

          category: 'Ice cream',

        },

        {

          name: 'Eclair',

          category: 'Cookie',

        },

        {

          name: 'Cupcake',

          category: 'Pastry',

        },

        {

          name: 'Gingerbread',

          category: 'Cookie',

        },

        {

          name: 'Jelly bean',

          category: 'Candy',

        },

        {

          name: 'Lollipop',

          category: 'Candy',

        },

        {

          name: 'Honeycomb',

          category: 'Toffee',

        },

        {

          name: 'Donut',

          category: 'Pastry',

        },

        {

          name: 'KitKat',

          category: 'Candy',

        },

      ],

    }

  },

})



查看完整回答
反对 回复 2021-11-25
  • 1 回答
  • 0 关注
  • 239 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信