# Table 表格 拓展ElementUI的`el-table` ## 原始用法 基本参数与ElementUI的`el-table`相同。 ::: snippet 相当于直接使用`el-table` ```html {{ row.gender }} ``` ::: ## 配置项 可以通过配置项列表快速生成表格列 ::: snippet 设置`columns`配置表格列,插槽`header-列字段名`可自定义表头的内容,插槽`cell-列字段名`可自定义列单元格的内容。 ```html 年龄 {{ value }} ``` ::: ## 追加列 使用配置项时,可以在配置项的左右两边追加列 ::: snippet 使用`left`插槽在表格配置项的左侧插入列,使用`right`插槽在表格配置项的右侧插入列。 ```html 左侧内容 {{ $index }} 右侧内容 {{ $index }} 编辑 ``` ::: ## 可编辑表格(即将废弃) > 由于创建时间较早且性能不佳,在2.0.1版本之后不推荐使用,并在若干版本之后废弃 一般用于表格的静态数据编辑,设置`editable`开启可编辑模式,设置`clickable`开启双击编辑 ::: snippet 编辑功能只支持通过`columns`配置的列,`editable`设置该列是否可编辑,默认开启;插槽`editor-列字段名`可自定义列单元格的编辑器,通过解构作用域插槽获取的`value`和`onInput`改变表格的绑定值,不支持直接写`v-model`。 ```html 编辑模式: 编辑全部: 双击编辑: 男 女 {{ value }} 删除 ``` ::: ## 编辑器 表格单元格可通过`editor`参数来配置编辑器,默认与表格数据值双向绑定 ::: snippet 设置`items`配置编辑器列 ```html {{ tableData }} ``` ::: ## 编辑器对象取值与赋值 编辑器可对深层对象进行双向绑定,通过`deep`参数来配置 ::: snippet 表格配置项也支持对象的深层取值 ```html {{ tableData }} ``` ::: ## 编辑器条件渲染 编辑器支持通过行内的某些数值来进行条件渲染,支持配置`if`来进行条件渲染。 ::: snippet `if`同时支持**boolean**和**function**两种类型,其中**function**可拿到当前行数据 ```html ``` ::: ## 编辑器条件渲染扩展 除了`if`之外,`props`、`attrs`、`on`都支持条件渲染 ::: snippet 同时支持**boolean**和**function**两种类型,其中**function**可拿到当前行数据 ```html ``` ::: ## 编辑器校验 编辑器默认支持`el-form`的单元格校验,配置`editor`参数中的`validate`开启校验模式,配置`editor`参数中的`path`设置当前表格在form表单中的路径,表头会根据rules自动判断是否必填项追加`*`号 ::: snippet 配置编辑器`editor`下的`rules`设置单元格的校验规则,也可以在`items`的`rules`中配置用以支持条件渲染 ```html 校验 ``` ::: ## API ## Attribute 属性 参数|说明|类型|可选值|默认值 -|-|-|-|- data | 表格数据 | Array | - | - columns | 表格列配置 | Array | - | [] editor | 编辑器配置 | Object | - | -