数据表格
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
自定义搜索过滤器
自定义排序过滤器
应用暗黑主题变体
在初始渲染时禁用默认排序
将表格指定为包含可展开的行
用于过滤条目的功能
Components.DataTables.
使用一个对象时表头的文本值
表头数组
{
text: string",
value: string",
align: 'left' | 'center' | 'right'",
sortable: boolean",
class: string[] | string",
width: string"
}
Components.DataTables.
隐藏表格操作
隐藏表头
条目对象中指定唯一键的字段
表格每行的数组(将item翻译为条目)
应用明亮主题变体
显示线性进度条。可以是指定将哪种颜色应用于进度条的字符串(任何material色彩——主要(primary), 次要(secondary), 成功(success), 信息(info),警告(warning),错误(error)),或者使用组件的布尔值颜色(由色彩属性设置——如果它被组件支持的话)还可以是原色。
强制至少一列总是被排序的,而不是在升序(sorted ascending)
/降序(sorted descending)
/不排序(unsorted)
的状态之间切换
Components.DataTables.
当没有数据时显示的文本
没有筛选结果时显示的文本
用于控制数据表外部的分页和排序,也可以用来设置默认的排序列。
{
descending: boolean",
page: number",
rowsPerPage: number // -1 for All",
sortBy: string",
totalItems: number"
}
Components.DataTables.
设置“每页行数”的下拉框的默认值
设置“每页行数”的下拉框的默认文本
用于筛选结果的搜索模型
添加标题行选择所有复选框,可以是指定将那种颜色应用于按钮的字符串,也可以是布尔值(使用默认颜色)。
Components.DataTables.
手动设置项目的总数,就可以禁用内置排序和分页,与分页属性一起使用,以启用服务端排序和分页。
已选的行
示例
no-data 插槽
当没有数据的时候,可以使用 no-data
插槽显示一段自定义HTML。
items 和 headers 插槽
items
和 headers
可以接受 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操作。