@sum-ui/table

共 100 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 10
前往
<template>
  <sum-table 
    border
    :columns="columns"
    :data="tableData"
    :pagenation="pagenation"
    @pagenation-change="handlePagenationChange"
    @select-change="handleSelectionChange"
  >
   <template #operation="scope">
      <a @click="removeItem(scope.row)" style="cursor:pointer;"> 删除 </a>
    </template>
  </sum-table >
</template>

<script lang="ts">
import { defineComponent, ref, reactive } from 'vue'

export default defineComponent({
  setup() {
    const columns = ref([
      {
        type: 'selection',
        width: 60
      },
      {
        label: '媒体ID',
        prop: 'id'
      },
      {
        label: '媒体名称',
        prop: 'appName'
      },
      {
        label: '操作',
        slot: 'operation'
      }
    ])

    const tableData = ref([
      {id: 1, appName: '媒体1'},
      {id: 2, appName: '媒体2'},
      {id: 3, appName: '媒体3'},
      {id: 4, appName: '媒体4'},
      {id: 5, appName: '媒体5'}
    ])
    const pagenation = reactive({
      currentPage: 1,
      pageSize: 10,
      total: 100,
      background: true,
      layout: 'total, sizes, prev, pager, next, jumper'
    })
    const handlePagenationChange = (data) => {
       console.log(data)
    }

    const handleSelectionChange = (data) => {
      console.log(data)
    }

    // 单个删除
    const removeItem = (row) => {
      // 执行删除操作
      console.log('删除', row, row.id)
    }
    return {
      columns,
      tableData,
      pagenation,
      handlePagenationChange,
      handleSelectionChange,
      removeItem
    }
  }
})
</script>

SumTable Attributes

属性除继承自 el-table属性外,增加 columns配置,locale 语言配置,默认中文, pagenation 分页属性配置

参数说明类型可选值默认值
columnscolumns 配置array
data显示的数据array
heightTable 的高度,默认为自动高度。如果 height 为 number 类型,单位 px;如果 height 为 string 类型,则这个高度会设置为 Table 的 style.height 的值,Table 的高度会受控于外部样式。string / number
max-heightTable 的最大高度。合法的值为数字或者单位为 px 的高度。string / number
stripe是否为斑马纹 tablebooleanfalse
border是否带有纵向边框booleanfalse
sizeTable 的尺寸stringmedium / small / mini
fit列的宽度是否自撑开booleantrue
show-header是否显示表头booleantrue
highlight-current-row是否要高亮当前行booleanfalse
current-row-key当前行的 key,只写属性string / number
row-class-name行的 className 的回调方法,也可以使用字符串为所有行设置一个固定的 className。function({ row, rowIndex }) / string
row-style行的 style 的回调方法,也可以使用一个固定的 Object 为所有行设置一样的 Style。function({ row, rowIndex }) / object
cell-class-name单元格的 className 的回调方法,也可以使用字符串为所有单元格设置一个固定的 className。function({ row, column, rowIndex, columnIndex }) / string
cell-style单元格的 style 的回调方法,也可以使用一个固定的 Object 为所有单元格设置一样的 Style。function({ row, column, rowIndex, columnIndex }) / object
header-row-class-name表头行的 className 的回调方法,也可以使用字符串为所有表头行设置一个固定的 className。function({ row, rowIndex }) / string
header-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,此种情况请使用 Functionfunction(row) / string
empty-text空数据时显示的文本内容,也可以通过 #empty 设置string暂无数据
default-expand-all是否默认展开所有行,当 Table 包含展开行存在或者为树形表格时有效booleanfalse
expand-row-keys可以通过该属性设置 Table 目前的展开行,需要设置 row-key 属性才能使用,该属性为展开行的 keys 数组。array
default-sort默认的排序列的 prop 和顺序。它的 prop 属性指定默认的排序的列,order 指定默认排序的顺序objectorder: ascending / descending如果只指定了 prop, 没有指定 order, 则默认顺序是 ascending
tooltip-effecttooltip effect 属性stringdark / lightdark
show-summary是否在表尾显示合计行booleanfalse
sum-text合计行第一列的文本string合计
summary-method自定义的合计计算方法function({ columns, data })
span-method合并行或列的计算方法function({ row, column, rowIndex, columnIndex })
select-on-indeterminate在多选表格中,当仅有部分行被选中时,点击表头的多选框时的行为。若为 true,则选中所有行;若为 false,则取消选择所有行booleantrue
indent展示树形数据时,树节点的缩进number16
lazy是否懒加载子节点数据boolean
load加载子节点数据的函数,lazy 为 true 时生效,函数第二个参数包含了节点的层级信息function(row, treeNode, resolve)
tree-props渲染嵌套数据的配置选项object{ hasChildren: 'hasChildren', children: 'children' }
locale语言属性objectimport zhCn from 'element-plus/lib/locale/lang/zh-cn'
pagenation分页属性object{}

Pagenation Attributes

继承自 el-pagenation 属性配置

参数说明类型可选值默认值
small是否使用小型分页样式booleanfalse
background是否为分页按钮添加背景色booleanfalse
page-size每页显示条目个数,支持 v-model 双向绑定number10
default-page-size每页显示条目数的初始值;number--
total总条目数number
page-count总页数,total 和 page-count 设置任意一个就可以达到显示页码的功能;如果要支持 page-sizes 的更改,则需要使用 total 属性Number
pager-count页码按钮的数量,当总页数超过该值时会折叠number大于等于 5 且小于等于 21 的奇数7
current-page当前页数,支持 v-model 双向绑定number1
default-current-page当前页数的初始值number--
layout组件布局,子组件名用逗号分隔Stringsizes, prev, pager, next, jumper, ->, total, slot'prev, pager, next, jumper, ->, total'
page-sizes每页显示个数选择器的选项设置number[][10, 20, 30, 40, 50, 100]
popper-class每页显示个数选择器的下拉框类名string
prev-text替代图标显示的上一页文字string
next-text替代图标显示的下一页文字string
disabled是否禁用booleanfalse
hide-on-single-page只有一页时是否隐藏boolean-

Events

事件名称说明回调参数
pagenation-changepageSize/currentPage 改变时会触发参数变化pagenation对象
select-change选中checkbox时会触发选中row数组
上次更新: 9/2/2021, 5:12:47 PM
贡献者: ltt