# 使用帮助

# 配置参数(Table Attributes)

参数 说明 类型 默认值
table 表格数据对象 Object {}
---data 展示数据 Array []
---toolbar 表格外操作栏选中表格某行,可以将其数据传出 Array -
---operator 表格内操作栏数据 Array []
-------show 表格内操作栏根据状态显示 Object -
-------noshow 表格内操作栏根据多种状态不显示 Array -
-------type 基于element button type String text
-------render 自定义操作按钮 jsx方式编写 function -
---operatorConfig 表格内操作栏样式 Object {}
---changeColor 整行文字颜色样式控制 Object {}
---firstColumn 表格首列(序号 index,复选框 selection,单选 radio)排列 object {}
---total 数据总条数 Number -
---pageSize 页数量 Number -
---currentPage 是否需要显示切换页条数 Number -
columns 表头信息 Array []
----sort 排序 (设置:sort:true) Boolean false
----headerRequired 是否显示表头必填'*' Boolean false
----renderHeader 列标题 Label 区域渲染使用的可以用 jsx 方式 Function -
----bind el-table-column Attributes Object -
----noShowTip 是否换行 (设置:noShowTip:true) Boolean false
----render 返回三个参数(text:当前值,row:当前整条数据 ,index:当前行) function -
----slotName 插槽显示此列数据(其值是具名作用域插槽) String -
----------param 具名插槽获取此行数据必须用解构接收{param} Object 当前行数据
----canEdit 是否开启单元格编辑功能 Boolean false
----configEdit 表格编辑配置(开启编辑功能有效) Object -
----------label placeholder 显示 String -
----------editComponent 组件名称可直接指定全局注册的组件,也可引入第三方组件 String input
----------bind 第三方 UI 的 Attributes Object -
----------event 触发 handleEvent 事件的标志 String -
----------type 下拉或者复选框显示(select-arr/select-obj/checkbox) String -
----------list 下拉选择数据源名称 String -
----------arrLabel type:select-arr 时对应显示的中文字段 String -
----------arrKey type:select-arr 时对应显示的数字字段 String -
listTypeInfo 下拉选择数据源{单元格编辑时需要} Object {}
title 表格左上标题 String /slot ''
toolbar 表格外操作栏 (显示在table右侧) slot -
footer 底部操作区(默认隐藏,使用插槽展示“保存”按钮) slot -
isShowFooterBtn 是否显示保存按钮(一般整行编辑才会开启) Boolean false
isEditCell 是否开启编辑模式(整行编辑模式) Boolean false
isEdit 是否显示添加按钮(在table的下面) Boolean false
highlightCurrentRow 是否高亮选中行 Boolean false
isShowTips 开启单元格编辑时鼠标移入是否显示“单击可编辑”tips Boolean false
columnSetting 是否显示设置(隐藏/显示列) Boolean false
name 与columnSetting配合使用标记隐藏/显示列唯一性 String title
isMergedCell 是否开启合并单元格 Boolean false
comparisonOperator 多列行合并比较运算符 String ==
mergeCol 第几列合并进行行合并(默认第一列) Number 0
isObjShowProp 是否开启对象模式渲染数据 功能(适用于一层对象数据) Boolean false
isShowPagination 是否显示分页(默认显示分页) Boolean false
isCopy 是否允许双击单元格复制 Boolean false
spanMethod 是否自定义编写合并单元格方法(跟element一样) funtion -
rowClickRadio 是否开启点击整行选中单选框 Boolean false
isTableColumnHidden 是否开启合计行隐藏复选框/单选框/序列 Boolean false

# Methods 方法

事件名 说明 参数
clearSelection 用于多选表格,清空用户的选择 -
save 保存方法(返回编辑后的所有数据) -
doLayout 对 Table 进行重新布局 -
toggleRowSelection 取消某一项选中项 -
clearSelection 清空复选框 -

# events 其他事件按照 el-table 直接使用(如 sort-change 排序事件)

事件名 说明 返回值
page-change 当前页码 当前选中的页码
radioChange 单选选中事件 返回当前选中的整行数据
add 新增按钮 -
save 保存按钮 编辑后的所有数据
handleEvent 单元格编辑时触发事件 configEdit 中的 event 值和对应输入的 value 值

# 具体操作

# 4.0 关于顶部工具栏

使用插槽 toolbar 传入即可

<template #toolbar>
  <el-select v-model="optValue"
              placeholder="请选择"
              size="small"
              @change="optionChange">
    <el-option v-for="item in options"
                :key="item.value"
                :label="item.label"
                :value="item.value">
    </el-option>
  </el-select>
</template>

# 4.1 若需要表格外操作栏(超过 3 个按钮,第 4 个按钮会以下拉的方式展示)

配置 toolbar 即可(前提条件是,必须使用插槽 toolbar)

toolbar: [
        {
          text: '返回上一个页面',
          icon: 'el-icon-circle-plus-outline',
          type: 'danger',
          fun: this.getBack
        }
]

# 4.2 关于表格内操作栏

配置 operator 即可

operator: [
  {
    text: '预览',
    type: 'primary',
    icon: 'el-icon-delete'
    fun: this.preview
  },
  {
    text: '编辑',
    type: 'danger',
    fun: this.edit,
    show: { key: 'status', val: [3,4] } // 表status值为3或者4时,显示此操作健 根据后台字段返回是数字还是字符串来显示
  },
  {
    text: '撤销',
    fun: this.revoke,
    show: { key: 'status', val: ['1'] }
  }
]

# 补充说明:多种状态控制按钮的显示与隐藏

operator: [
  {
    text: '预览',
    type: 'primary',
    fun: this.preview,
    noshow:[{key:'fields',val:'isHasVal'},{key:'status',val:[0,1,99]},{key:'channelCode',val:['bank']}]
    // noshow中的key值(fields/status/channelCode)是表格后台返回的字段
    // 当val等于字符串'isHasVal'时,字段'fields'返回为空时,此行操作按钮隐藏
    // 以上综合:当'status'为0/1/99并且'channelCode'为'bank'及'fields'为空时,隐藏按钮
  }
]

# 4.3 关于表格操作栏样式,如固定右侧,宽度

operatorConfig: {
  fixed: 'right',
  width: 200,
  label: '操作'
}

# 4.4 关于表格某行文字颜色

changeColor: {
  key: 'status', // 状态
  val: '0',  // 状态值
  txtStyle: 'red' // 设置文字颜色也可以用“#ef473a”
}

# 4.5 关于表格状态 filters 方法使用(在表头 column 对象里添加如下字段)

{ prop: 'loanInterest', label: '利息', width: '120' , filters: { method: '%' }},
filters: { method: '%' }:表显示百分比
filters: { method: '¥' }:表显示金额
filters: { param: 'REPAYMENT_STATES' } :表状态对应的canstants对应的字段

# 4.6 新增翻页选中功能(2020-02-27 添加)

页面代码新增::row-key 属性和 selection-change 复选框事件

<t-table
        :table="table"
        @size-change="handlesSizeChange"
        @page-change="handlesCurrentChange"
        :row-key="getRowKey"
        @selection-change="handlesSelectionChange"
      />

js 代码

// 获取列表数据的唯一标识
 getRowKey (row) {
   return row.id
 },
 // 选中的数据
 handlesSelectionChange (val) {
   this.chosenIds = val.map(item => item.id)
 },

==注意:==(参考配置参数) firstColumn: { type: 'selection', isPaging: true }, type: 'selection' 表复选框 isPaging: true 表可以跨页勾选

# 4.7 新增隐藏某列及某单元格内容过长是否换行(还是隐藏并有 tip 提示)

{ prop: 'name', label: '姓名', minWidth: '100', sort: true, noShowColumn: true },
// 设置noShowColumn为true时,表格隐藏当前列
{ prop: 'address', label: '地址', minWidth: '220', sort: true, noShowTip: true },
  // 设置noShowTip为true时,表单元格换行显示

# 4.8 新增行内操作按钮权限配置

operator: [
        {
          text: '编辑',
          type: 'primary',
          resCode: 'ent-account-edit',
          fun: this.handleEdit
        }
      ],
// 解析:根据后台返回按钮资源中若无“ent-account-edit”资源,此按钮将不会显示

# 关于 element-ui el-table 提供的一些方法,样式如何添加

按照 el-table 写法直接使用即可,无需其他配置