首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在vuetify中向标头添加图标

如何在vuetify中向标头添加图标
EN

Stack Overflow用户
提问于 2021-07-30 11:15:39
回答 1查看 3.1K关注 0票数 4

我试图将(+)图标添加到中的一个标头列中。下面的代码没有添加任何图标。实际上,为标头创建模板槽对datatable没有任何影响。

我所尝试的,

代码语言:javascript
复制
<template>
  <v-data-table 
            item-key="name"
            :items="complainantInfos"
            :headers="headers"
            sort-by="Id"
            class="elevation-1">
            <template v-slot:top>
                <v-toolbar flat color="white">
                <v-toolbar-title>Inspection</v-toolbar-title>
                <v-spacer></v-spacer>           
                </v-toolbar>
            </template>
              <template slot="headers" slot-scope="props">
               <tr>         
                  <th
                     v-for="header in props.headers"
                     :key="header.text">
                     <v-icon small >plus-circle-outline</v-icon>
                     {{ header.text }}
                  </th>
               </tr>
             </template>
    </v-data-table>
</template>
<script>
  import {  mapGetters } from "vuex";    
export default {    
    data(){
        return{
           complainantInfos:[
              {
                 ...
               }
           ],
            headers: [
                { text: 'NameSurname', value: 'name', align: 'left' ,width: "25%" },
                { text: 'ID', value: 'PersonelIdNumber' },
                { text: 'Phone-1', value: 'Cellular1' },
                { text: 'Phone-2', value: 'Cellular2' },  
                { text: 'Work Phone',  value: 'WorkPhone' },  
                { text: 'InterPhone',  value: 'Interphone' },
                { text: 'Email',   value: 'Email' },
                //{ text: '+', value: 'action', sortable: false, align: 'right'}
              
            ],   

我已经根据评论编辑了代码。问题解决了。

代码语言:javascript
复制
 ...

    </v-card>
                </v-form>
              </v-dialog>
            </v-toolbar>
            </template>           
            
            <template v-slot:header.Actions="{ header }">
               
                     <v-icon small>plus-circle-outline</v-icon>{{ header.text }}
             
            </template>
...
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-30 12:44:10

由于您只希望将图标添加到一个特定的列中,我建议使用header.columnName

你的插槽应该是这样的:

代码语言:javascript
复制
<template v-slot:header.name="{ header }">
  <v-icon small>plus-circle-outline</v-icon>{{ header.text }}
</template>

如果列名为"Cellular1",则代码将为<template v-slot:header.Cellular1="{ header }">

请确保你的图标集包括在内。否则,就不会为v-icon呈现任何HTML。您可以使用默认的mdi图标来测试它,例如mdi-minus

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68590046

复制
相关文章

相似问题

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