首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 ><v-data-table>中的模板v-slot在vue 2.0.15中不起作用

<v-data-table>中的模板v-slot在vue 2.0.15中不起作用
EN

Stack Overflow用户
提问于 2019-09-06 21:51:50
回答 1查看 6K关注 0票数 2

我尝试创建一个v-data-table,这样我就可以添加另一个带按钮的字段,但似乎不起作用。

下面是代码:https://codepen.io/gerak/pen/yLBpqqG

问题是,当我将包https://cdnjs.cloudflare.com/ajax/libs/vuetify/1.5.14/vuetify.min.js改为一个最新版本时:https://cdnjs.cloudflare.com/ajax/libs/vuetify/2.0.15/vuetify.min.js表,忽略标记。

HTML

代码语言:javascript
复制
  <v-app id="inspire">
    <v-data-table
      :headers="headers"
      :items="desserts"
      class="elevation-1"
    >
      <template v-slot:items="props">
        <td>{{ props.item.name }}</td>
        <td >{{ props.item.calories }}</td>
        <td>{{ props.item.fat }}</td>
        <td><v-btn>Created Button</v-btn></td>
      </template>
    </v-data-table>
  </v-app>
</div>

JS

代码语言:javascript
复制
new Vue({
  el: '#app',
  data () {
    return {
      headers: [
        {
          text: 'Dessert (100g serving)',
          align: 'left',
          sortable: false,
          value: 'name'
        },
        { text: 'Calories', value: 'calories' },
        { text: 'Fat (g)', value: 'fat' },
        { text: 'Button field', value: 'buttonField' },
      ],
      desserts: [
        {
          name: 'Frozen Yogurt',
          calories: 159,
          fat: 6.0,
        },
        {
          name: 'Ice cream sandwich',
          calories: 237,
          fat: 9.0,
        },
        {
          name: 'Eclair',
          calories: 262,
          fat: 16.0,
        }
      ]
    }
  }
})

我没有得到任何错误,只是表格不再出现。会不会是版本问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-06 22:25:36

插槽的工作方式不同,您可以为每个字段创建模板,要在表格中添加按钮,您可以这样做(https://codepen.io/reijnemans/pen/dybJgjL?editors=1010):

代码语言:javascript
复制
<div id="app">
  <v-app id="inspire">
    <v-data-table
      :headers="headers"
      :items="desserts"
      class="elevation-1"
    >
      <template v-slot:item.action="{ item }">
        <v-btn>Created Button</v-btn>
      </template>
    </v-data-table>
  </v-app>
</div>

JS:

代码语言:javascript
复制
new Vue({
  el: '#app',
  vuetify: new Vuetify(),

  data () {
    return {
      headers: [
        {
          text: 'Dessert (100g serving)',
          align: 'left',
          sortable: false,
          value: 'name'
        },
        { text: 'Calories', value: 'calories' },
        { text: 'Fat (g)', value: 'fat' },
        { text: 'Actions', value: 'action', sortable: false }
      ],
      desserts: [
        {
          name: 'Frozen Yogurt',
          calories: 159,
          fat: 6.0,
        },
        {
          name: 'Ice cream sandwich',
          calories: 237,
          fat: 9.0,
        },
        {
          name: 'Eclair',
          calories: 262,
          fat: 16.0,
        }
      ]
    }
  }
})
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57823354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档