数据表格

v-data-table 用于显示表格数据,功能包括排序、搜索、分页、行内编辑、头部提示以及行选择。

用例

The standard data-table contains data with no additional functionality. You can opt out of displaying table actions that allow you to control the pagination of information with the hide-actions prop.

API

v-data-table
名称
custom-filter
默认值
(items: object[], search: string, filter: Filter): object[]
类型
function

自定义搜索过滤器

名称
custom-sort
默认值
(items: object[], index: number, isDescending: boolean): object[]
类型
function

自定义排序过滤器

名称
dark
默认值
false
类型
boolean

应用暗黑主题变体

名称
disable-initial-sort
默认值
false
类型
boolean

在初始渲染时禁用默认排序

名称
expand
默认值
false
类型
boolean

将表格指定为包含可展开的行

名称
filter
默认值
(val: object, search: string): boolean
类型
function

用于过滤条目的功能

名称
header-key New in — v1.2
默认值
undefined
类型
string

Components.DataTables.

名称
header-text
默认值
'text'
类型
string

使用一个对象时表头的文本值

名称
headers
默认值
[]
类型
array

表头数组

{
  text: string",
  value: string",
  align: 'left' | 'center' | 'right'",
  sortable: boolean",
  class: string[] | string",
  width: string"
}
名称
headers-length
默认值
undefined
类型
number

Components.DataTables.

名称
hide-actions
默认值
false
类型
boolean

隐藏表格操作

名称
hide-headers
默认值
false
类型
boolean

隐藏表头

名称
item-key
默认值
'id'
类型
string

条目对象中指定唯一键的字段

名称
items
默认值
[]
类型
array

表格每行的数组(将item翻译为条目)

名称
light
默认值
false
类型
boolean

应用明亮主题变体

名称
loading
默认值
false
类型
boolean | string

显示线性进度条。可以是指定将哪种颜色应用于进度条的字符串(任何material色彩——主要(primary), 次要(secondary), 成功(success), 信息(info),警告(warning),错误(error)),或者使用组件的布尔值颜色(由色彩属性设置——如果它被组件支持的话)还可以是原色。

名称
must-sort
默认值
false
类型
boolean

强制至少一列总是被排序的,而不是在升序(sorted ascending)/降序(sorted descending)/不排序(unsorted)的状态之间切换

名称
next-icon
默认值
'$vuetify.icons.next'
类型
string

Components.DataTables.

名称
no-data-text
默认值
'$vuetify.noDataText'
类型
string

当没有数据时显示的文本

名称
no-results-text
默认值
'$vuetify.dataIterator.noResultsText'
类型
string

没有筛选结果时显示的文本

名称
pagination.sync
默认值
类型
object

用于控制数据表外部的分页和排序,也可以用来设置默认的排序列。

{
  descending: boolean",
  page: number",
  rowsPerPage: number // -1 for All",
  sortBy: string",
  totalItems: number"
}
名称
prev-icon
默认值
'$vuetify.icons.prev'
类型
string

Components.DataTables.

名称
rows-per-page-items
默认值
[5,10,25,{"text":"$vuetify.dataIterator.rowsPerPageAll","value":-1}]
类型
array

设置“每页行数”的下拉框的默认值

名称
rows-per-page-text
默认值
'$vuetify.dataTable.rowsPerPageText'
类型
string

设置“每页行数”的下拉框的默认文本

名称
search
默认值
undefined
类型
any

用于筛选结果的搜索模型

名称
select-all
默认值
undefined
类型
boolean | string

添加标题行选择所有复选框,可以是指定将那种颜色应用于按钮的字符串,也可以是布尔值(使用默认颜色)。

名称
sort-icon
默认值
'$vuetify.icons.sort'
类型
string

Components.DataTables.

名称
total-items
默认值
undefined
类型
number

手动设置项目的总数,就可以禁用内置排序和分页,与分页属性一起使用,以启用服务端排序和分页。

名称
value
默认值
[]
类型
array

已选的行

示例

no-data 插槽

当没有数据的时候,可以使用 no-data 插槽显示一段自定义HTML。

items 和 headers 插槽

itemsheaders 可以接受 td/th 标签, 或者你想控制一整行,可以使用 tr 标签。第二种情况下,item-key并不会自动在行上加上key,你需要手动添加。

headerCell 插槽

如果你想对每个表头单元应用一些常见的标记或者效果,可以使用 headerCell 插槽,这下面的例子中就是将提示信息应用到表头的每个单元。

progress 插槽

这里也有一个 progress 插槽让你可以自定义显示表格的加载状态,默认情况下这是一个indeterminate v-progress-linear(即不确定进度的线性进度条)。

footer 插槽

如果你还想添加一些额外的功能,比如每列过滤或者搜索,你可以使用 footer 插槽。

expand 插槽

v-data-table 组件还支持行展开,通过使用expand 插槽。 另外你可以使用 expand 属性来避免你点击另一行的时候已展开的行关闭。

page-text 插槽

你可以使用page-text 插槽来自定义显示范围以及总条目。

行选择框

使用行选择框能让你进行行选择操作。

搜索以及无结果时的 no-result 插槽

数据表格还提供了一个 search 属性,允许你进行数据筛选。

Custom icons

Previous/next pagination icons and sort icon can be customized with prev-icon, next-icon and sort-icon props.

外部分页

分页可以通过 pagination 属性在外部控制,切记使用时必须应用 .sync 修饰符。

外部排序

排序也同样可以通过 pagination 属性在外部控制,也必须使用 .sync 修饰符。你也可以使用该属性设置默认的排序序列。

服务端分页和排序

如果你从后台加载数据,并希望显示结果之前进行分页和排序,你可以使用 total-items 属性。定义这个属性将会禁用内置的分页和排序,并且你需要使用 pagination 属性来监听变化。使用 loading 属性来显示获取数据时的进度条。

无头表格

设置 hide-headers 属性来创建一个无头表格。

行内编辑

使用 v-edit-dialog 组件来进行数据表格的行内编辑。 You can block closing the dialog when clicked outside by adding the persistent prop.

CRUD 操作

数据表格使用 v-dialog 组件来进行每行的CRUD操作。

Edit this page | language on Github
Vuetify 3 is now available!The latest version of Vuetify is now available!
Learn about Vuetify 3's new features and functionality for modern Vue applications
Start exploringExplore