为啥 Vuetify 表格显示不一致的单元格宽度?

Posted

技术标签:

【中文标题】为啥 Vuetify 表格显示不一致的单元格宽度?【英文标题】:Why Vuetify tables shows inconsistent cells width?为什么 Vuetify 表格显示不一致的单元格宽度? 【发布时间】:2020-02-05 06:19:40 【问题描述】:

在 Vue 中,我在同一个组件的模板中创建了多个表。这些表都有相同的 html 模板,除了它们使用不同的data () 属性。不知何故,它们之间的列宽不一致。

<template>
    <v-container>
        <h2>Security</h2>
        <hr>
        <v-simple-table>
            <template v-slot:default>
                <tbody>
                <tr v-for="(a, index) in user_info.security_titles"
                    :key="a">
                    <td><strong> a </strong></td>
                    <td v-show="user_info.security_data">user_info.security_data[index]</td>
                </tr>
                </tbody>
            </template>
        </v-simple-table>
        <br>
        <h2>Connection</h2>
        <hr>
        <v-simple-table>
            <template v-slot:default>
                <tbody>
                <tr v-for="(b, index) in user_info.connection_titles"
                    :key="b">
                    <td> <strong> b </strong> </td>
                    <td v-show="user_info.connection_data">user_info.connection_data[index]</td>
                </tr>
                </tbody>
            </template>
        </v-simple-table>
        <br>
        <h2>Language</h2>
        <hr>
        <v-simple-table>
            <template v-slot:default>
                <tbody>
                <tr v-for="(c, index) in user_info.language_titles"
                    :key="c">
                    <td> <strong> c </strong> </td>
                    <td v-show="user_info.language_data">user_info.language_data[index]</td>
                </tr>
                </tbody>
            </template>
        </v-simple-table>
    </v-container>
</template>

我用过任何风格

【问题讨论】:

【参考方案1】:

表格总是试图以最好的方式适应内容,因此如果您的列中包含一行长文本,则该列将占用更多空间。

您可以在标题中使用 width 属性来获得固定宽度,如 in the docs 所示


  text: string
  value: string
  align?: 'start' | 'center' | 'end'
  sortable?: boolean
  filterable?: boolean
  divider?: boolean
  class?: string | string[]
  width?: string | number
  filter?: (value: any, search: string, item: any) => boolean
  sort?: (a: any, b: any) => number

【讨论】:

以上是关于为啥 Vuetify 表格显示不一致的单元格宽度?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的表格单元格宽度在 Chrome 中错误?

当具有定义宽度的子元素位于具有 colspan 的单元格内时,如何修复 Microsoft Edge 显示不正确的表格单元格宽度?

在excel表格单元格中,小数点后是0,为啥不显示

表格标题和表格单元格显示不同的宽度

Vuetify v-select 组件宽度变化

在excel里面单元格合并后筛选时为啥只能显示第一行,剩下的为啥显示不出来,怎么操作?