naive-ui
Version:
A Vue 3 Component Library. Fairly Complete, Theme Customizable, Uses TypeScript, Fast
128 lines • 2.95 kB
JavaScript
import { useTheme } from "../../_mixins/index.mjs";
import { createInjectionKey } from "../../_utils/index.mjs";
export const dataTableProps = Object.assign(Object.assign({}, useTheme.props), {
onUnstableColumnResize: Function,
pagination: {
type: [Object, Boolean],
default: false
},
paginateSinglePage: {
type: Boolean,
default: true
},
minHeight: [Number, String],
maxHeight: [Number, String],
// Use any type as row data to make prop data acceptable
columns: {
type: Array,
default: () => []
},
rowClassName: [String, Function],
rowProps: Function,
rowKey: Function,
summary: [Function],
data: {
type: Array,
default: () => []
},
loading: Boolean,
bordered: {
type: Boolean,
default: undefined
},
bottomBordered: {
type: Boolean,
default: undefined
},
striped: Boolean,
scrollX: [Number, String],
defaultCheckedRowKeys: {
type: Array,
default: () => []
},
checkedRowKeys: Array,
singleLine: {
type: Boolean,
default: true
},
singleColumn: Boolean,
size: {
type: String,
default: 'medium'
},
remote: Boolean,
defaultExpandedRowKeys: {
type: Array,
default: []
},
defaultExpandAll: Boolean,
expandedRowKeys: Array,
stickyExpandedRows: Boolean,
virtualScroll: Boolean,
virtualScrollX: Boolean,
virtualScrollHeader: Boolean,
headerHeight: {
type: Number,
default: 28
},
heightForRow: Function,
minRowHeight: {
type: Number,
default: 28
},
tableLayout: {
type: String,
default: 'auto'
},
allowCheckingNotLoaded: Boolean,
cascade: {
type: Boolean,
default: true
},
childrenKey: {
type: String,
default: 'children'
},
indent: {
type: Number,
default: 16
},
flexHeight: Boolean,
summaryPlacement: {
type: String,
default: 'bottom'
},
paginationBehaviorOnFilter: {
type: String,
default: 'current'
},
filterIconPopoverProps: Object,
scrollbarProps: Object,
renderCell: Function,
renderExpandIcon: Function,
spinProps: {
type: Object,
default: {}
},
onLoad: Function,
'onUpdate:page': [Function, Array],
onUpdatePage: [Function, Array],
'onUpdate:pageSize': [Function, Array],
onUpdatePageSize: [Function, Array],
'onUpdate:sorter': [Function, Array],
onUpdateSorter: [Function, Array],
'onUpdate:filters': [Function, Array],
onUpdateFilters: [Function, Array],
'onUpdate:checkedRowKeys': [Function, Array],
onUpdateCheckedRowKeys: [Function, Array],
'onUpdate:expandedRowKeys': [Function, Array],
onUpdateExpandedRowKeys: [Function, Array],
onScroll: Function,
// deprecated
onPageChange: [Function, Array],
onPageSizeChange: [Function, Array],
onSorterChange: [Function, Array],
onFiltersChange: [Function, Array],
onCheckedRowKeysChange: [Function, Array]
});
export const dataTableInjectionKey = createInjectionKey('n-data-table');