element表格Table
Table表格:
属性:
data: 表示显示的数据,是一个数组。
height: Table 的高度,如果 height 为 number 类型,单位为 px(像素),如果高为 string 类型,则这个高度会设置为Tabled 的
style.height 的值,Table 的高度会受控制于外部样式。类型有 string 和 Number 两种。
max-height: Table 的最大高度,合法的值为数字或者单位为 px 的高度。类型有 String 和 Number 两种。
stripe: 是否为斑马纹 Table(就是一行黑的一行白的)。布尔类型,默认为 false。
border: 是否带有纵向边框。布尔类型。默认 false。
size: Table 的尺寸,String 类型,有三个参数,从大到小分别为 medium、small、mini。
fit: 列的宽度是否自行撑开。布尔类型。默认 true。
show-header: 是否显示表头。布尔类型。默认 true。
highlight-current-row: 点击过后是否要高亮当前行。布尔类型。默认false。
current-row-key: 当前行的 key,只写属性,有 Stying 和 Number 类型。
row-class-name: 行的 className 的回调方法,也可以使用字符串为所有行设置一个固定的 className。可以通过指定
Table 组件的 row-class-name 属性来为 Table 中的某一行添加 class,表明该行处于某种状态。
方法:Function ( { row,rowIndex } ) / String
```tableRowClassName({ row, rowIndex }) {
if (rowIndex === 2) {
return 'warning-row';(可在css中定义选中行的颜色)
} else if (rowIndex === 3) {
return 'success-row'; (例如:.el-table .success-row{定义颜色})
}
return '';
}
```
row-style: 行的 style 的回调方法,也可以使用一个固定的 Object 为所有行设置一样的 Style。
方法:Function ( { row, rowIndex } ) / Object
header-cell-class-name: 表头单元格的 className 的回调方法,也可以使用字符串为所有表头单元格设置一个固定的
className。
方法: Function ( { row , column , rowIndex , columnIndex } ) / String
header-cell-style: 表头单元格的 style 的回调方法,也可以使用一个固定的 Object 为所有表头单元格设置一样的
Style。
方法:Function ( { row , column , rowIndex , columnIndex } ) / Object
row-key: 行数据的Key,用来优化 Table 的渲染;在使用 reserve-selection 功能与显示树型数据时,该属性是必填的,
类型为 String 时,支持多层访问:User.info.id,但不支持 User.info[0].id,此种情况下使用 Function。
方法:Function ( { row } ) / String
empty-text: 空数据时显示的 文本内容,也可以通过 slot='empty' 设置。String类型。
default-expand-all: 是否默认展开所有行,当 Table 包含展开行存在或者为树形表格时有效。布尔类型。默认false。
expand-row-keys: 可以通过该属性设置 Table 目前的展开行,需要设置 row-key 属性才能使用,该属性为展开行的
keys数组。类型数组。
default-sort: 默认的排列的 prop 和顺序。它的 prop 属性指定默认的排序的列,order 指定默认排序的顺序。对象类
型。可选值:order : ascending,descending。 如果只指定了 prop, 没有指定 order, 则默认顺序是
ascending。
tooltip-effect: tooltip effect 属性。String类型,有dark和light两个属性。***
show-summary:是否在表尾显示合计行,将show-summary设置为true就会在表格尾部展示合计行。布尔类型。默认false。
sum-text:合计行第一列的文本。默认情况下,对于合计行,第一列不进行数据求合操作,而是显示合计二字(可通过sum-
text配置),其余列会将本列所有数值进行求合操作,并显示出来。String类型。
summary-method: 自定义的合计计算方法。
方法:Function ( { column , data } )
span-method: 合并行或列的计算方法。多行或多列共用一个数据时,可以合并行或列。
方法:Function ( { row, column, rowIndex, columnIndex } )
select-on-indeterminate:在多选表格中,当仅有部分行被选中时,点击表头的多选框时的行为。若为 true,则选中所有
行,若为 false,则取消选择所有行。布尔类型。默认true。
indent: 展示树形数据时,树节点的缩进。就是子节点前面的缩进。Number类型。默认16。
lazy: 是否懒加载子节点数据。布尔类型。
load: 加载子节点数据的函数,lazy 为 true 时生效,函数第二个参数包含了节点的层级信息。就类似一个下拉表格一样。
方法:Function ( row , treeNode , resolve )
tree-props: 渲染嵌套数据的配置选项。就是他的子数据。
默认值:{ hasChildren: 'hasChildren', children: 'children' }
Table表格:
事件:
select: 当用户手动勾选数据行的 Checkbox 时触发的事件。参数:selection, row。
select-all: 当用户手动勾选全选 Checkbox 时触发的事件。参数:selection。
selection-change: 当选择项发生变化时会触发该事件。参数:selection。
cell-mouse-enter:当单元格 hover(就是鼠标停在上面) 进入时会触发该事件。参数:row, column, cell, event。
cell-mouse-leave:当单元格 hover 退出时会触发该事件。参数:row, column, cell, event。
cell-click: 当某个单元格被点击是会触发该事件。参数:row, column, cell, event。
cell-dblclick: 当某个单元格被双击击时会触发该事件。参数:row, column, cell, event。
row-click: 当某一行被点击时会触发该事件。参数:row, column, event。
row-contextmenu: 当某一行被鼠标右键点击时会触发该事件。参数:row, column, event。
row-dblclick: 当某一行被双击时会触发该事件。参数:row, column, event。
header-click: 当某一列的表头被点击时会触发该事件。参数:column, event。
header-contextmenu: 当某一列的表头被鼠标右键点击时触发该事件。参数:column, event。
sort-change: 当表格的排序条件发生变化的时候会触发该事件。参数:{ column , prop , order }。
filter-change:当表格的筛选条件发生变化的时候会触发该事件,参数的值是一个对象,对象的 key 是 column 的
columnKey,对应的 value 为用户选择的筛选条件的数组。
current-change: 当表格的当前行发生变化的时候会触发该事件,如果要高亮当前行,请打开表格的 height-current-row
属性。参数:currentRow,oldCurrentRow。
header-dragend: 当拖动表头改变了列的宽度会触发该事件。
expand-change: 当用户对某一行展开或者关闭的时候会触发该事件(展开行时,回调的第二个参数为 expandedRows;树形
表格时第二参数为 expanded)。参数:row, ( expandedRows | expanded )。
Table表格:
方法:
clearSelection: 用于多选表格,清空用户的选择。
toggleRowSelection: 用于多选表格,切换某一行的选中状态,如果使用了第二个参数,则是设置这一行选中与否
( selected 为 true 则选中 )。参数:row, selected。
toggleAllSelection: 用于多选表格,切换所有行的选中状态。
toggleRowExpansion: 用于可展开表格与树形表格,切换某一行的展开状态,如果使用了第二个参数,则是设置这一行展开
与否(expanded 为 true 则展开)。参数:row, expanded。
setCurrentRow: 用于单选表格,设定某一行为选中行,如果调用时不加参数,则会取消目前高亮行的选中状态。
参数:row。
clearSort: 用于清空排序条件,数据会恢复成未排序的状态。
clearFilter: 不传入参数时用于清空所有过滤条件,数据会恢复成未过滤的状态,也可传入由columnKey组成的数组以清除
指定列的过滤条件。参数:columnKey。
doLayout: 对Table进行重新布局。当Table或其祖先元素由隐藏切换为显示时,可能需要调用此方法。
sort: 手动对Table进行排序。参数prop属性指定排序列,order 指定排序顺序。
参数:prop : string, order : string
Table表格:
插槽:
append: 插入至表格最后一行之后的内容,如果需要对表格的内容进行无限滚动操作,可能需要这个 slot。若表格有合计行,该 slot 会位于合计行之上。
Table表格:
列属性:
type: 对应列的类型。如果设置了 selection 则显示多选框;如果设置了 index 则显示该行的索引(从1开始计算),
如果设置了 expand 则显示为一个可展开的按钮。
可选值:selection、index、expand。
index: 如果设置了 type = index,可以通过传递 index 属性来自定义索引。
类型:number, Function ( index )。
column-key: column 的 key,如果需要使用 filter-change 事件,则需要此属性标识是哪个 column 的筛选条件。
label: 显示的标题。
prop: 对应列内容的字段名,也可以使用 property 属性。
width: 对应列的宽度。
min-width: 对应列的最小宽度,与 width 的区别是 width 是固定的。min-width 会把剩余的宽度按比例分配给设置了
min-width的列。
fixed: 列是否固定在左侧或者右侧,true 表示固定在左侧。类型:String类型、布尔类型。
可选值:true、left、right。
render-header: 列标题 Label 区域渲染使用的 Function。
类型:Function( h, { column, $index } )。
sortable: 对应列是否可以排序,如果设置为 'custom',则代表用户希望远程排序,需要监听 Table 的 sort-change 事
件。类型:布尔类型、String类型。可选值:true、false、'custom'。默认false。
sort-method: 对数据进行排序的时候使用的方法,仅当 sortable 设置为 true 的时候有效,需返回一个数字,和
Array.sort 表现一致。类型:Function( a , b )。
sort-by: 指定数据按照哪个属性进行排序,仅当 sortable 设置为 true 且没有设置 sort-method 的时候有效。如果
sort-by 为数组,则先按照第1个属性排序,如果第1个相等,再按照第2个排序,以此类推。
类型:String、Array、Function ( row , index )。
sort-orders: 数据在排序时所使用排序策略的轮转顺序,仅当 sortable 为 true 时有效。需传入一个数组,随着用户点
击表头,该列依次按照数组中元素的顺序进行排序。 类型:array。
可选值:数组中的元素需为以下三者之一:ascending 表示升序,descending 表示降序,null 表示还原为
原始顺序。 默认值:[ 'ascending' , 'descending' , null ]。
resizable: 对应列是否可以通过拖动改变宽度(需要在 el-table 上设置 border 属性为真)。布尔类型。默认true。
formatter: 用来格式化内容。类型:Function( row , column , cellValue , index )
show-overflow-tooltip: 当内容过长被隐藏时显示 tooltip。布尔类型。默认false。
align: 对齐方式。String类型。可选值:left、center、right。 默认值: left。
header-align: 表头对齐方式,若不设置该项,则使用表格的对齐方式。 String类型。可选值:left、center、right。
class-name: 列的className。String类型。
label-class-name: 当前列标题的自定义类名。String类型。
selectable: 仅对 type = selection 的列有效,类型为 Function,Function 的返回值用来决定这一行的 CheckBox
是否可以勾选。类型:Function ( row , index )。
reserve-selection: 仅对 type = selection 的列有效,类型为 Boolean,为 true 则会在数据更新之后保留之前选中
的数据(需指定 row-key)。 布尔类型 默认false。
filters: 数据过滤的选项,数组格式,数组中的元素需要有 text 和 value 属性。类型:Array [ { text, value } ]
filter-placement: 过滤弹出框的定位。可选值:与 Tooltip 的 placement 属性相同。
filter-multiple: 数据过滤的选项是否多选。布尔类型。默认true。
filter-method: 数据过滤使用的方法,如果是多选的筛选项,对每一条数据会执行多次,任意一次返回 true 就会显示。
类型:Function( value, row, column )。
filtered-value: 选中的数据过滤项,如果需要自定义表头过滤的渲染方式,可能会需要此属性。类型:数组。