【问题标题】:How do I get the v-data-table to render icon for - and + in vuetify?如何让 v-data-table 在 vuetify 中为 - 和 + 呈现图标?
【发布时间】:2019-08-29 09:58:49
【问题描述】:

我正在开发我的 vue.js 项目,并且正在使用 Vuetify。 现在,我已经从文档中制作了一个类似于此示例的数据表:

https://codepen.io/pen/?&editable=true&editors=101

我希望使用带有 - 和 + 按钮的同一个表格(正如您在代码笔中看到的,在类别名称周围)。

当我在浏览器中检查代码时,似乎有某种按钮,但它们没有显示 codepen 示例模板中的按钮。

有人知道如何实现吗?

这是来自代码笔的代码:

<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
    ></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',
        },
      ],
    }
  },
})

我的代码看起来像示例,除了 - 和 + 按钮具有奇怪的文本而不是示例中显示的图标。

【问题讨论】:

  • 奇怪的文字而不是图标指向丢失的字体 - 只是一个想法
  • @Estradiaz 当然,但由于 codepen 中没有提供 css,我认为它与 Vuetify 的一般工作方式有关。但是由于我已经将这个示例复制到我自己的代码中,并且看起来完全一样 - 我不知道发生了什么。

标签: vue.js vuetify.js


【解决方案1】:

你必须添加字体 - 我猜 codepen cdn 没问题:

Further readings

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',
        },
      ],
    }
  },
}).$mount("#app")
<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">

  <link href="https://cdn.jsdelivr.net/npm/@mdi/font@3.x/css/materialdesignicons.min.css" rel="stylesheet">
  <link href="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/vue@2.x/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.js"></script>

<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
    ></v-data-table>
  </v-app>
</div>

【讨论】:

  • 正如我之前提到的,我在一个 Vue.js 项目中工作(代码笔只是为了展示)并且我已经将 MDI Iconfont 初始化到我的 vuetify.js 文件中(正如文档所指到)。所以,我仍然不确定为什么它不起作用。
  • @Emilia 如果在拉取 CSS 时遇到问题,您可以检查开发人员工具吗?就像在文档中那样做应该没有问题 - 所以归结为两个原因 - 打字错误或网络问题
  • 我在开发人员工具中检查时可以看到,材料设计图标的状态为 200 OK。有趣的是,我在同一个组件中有一个图标,而且效果很好……还有错字,嗯……我想,我会看看
  • @Emilia 你能尝试用v-icon 加载图标吗?我的猜测是源中可能缺少该特定图标 - 一旦切换到 fontawesome,我就遇到了这个问题
猜你喜欢
  • 2018-11-14
  • 2020-04-25
  • 2021-08-30
  • 2020-02-26
  • 2019-11-10
  • 2020-12-13
  • 2019-11-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多