vxe-table学习(一)

vxe-table学习(一)
(1)vxe-table设置点击或者双击事件,参数{ row, column,}中的column能够获取点击了vxe-table-column的列配置(属性(field,title等)方法等) field对应column.property
(2)vxe-table设置:checkbox-config="{labelField: ‘name’, checkMethod: checkboxkMethod}"属性,labelField设置的值为单选框显示的字段名,可以直接显示在单选框中,checkMethod设置的方法,是否允许勾选的方法,该方法 Function({row}) 的返回值用来决定这一行的 checkbox 是否可以勾选,return为ture的话可以勾选,false则禁用
(3)xe-utils使用npm安装后,在main.js使用import引用,Vue.use()后自动挂载到vue实例上,使用this.$utils调用
(4)改组件样式应该要找到改标签,不要看标签上的类名,要看浏览器在debug上的styles样式找到标签的类名
(5)表尾合计:

footerMethod ({ columns, data }) {
      return [
        columns.map((column, columnIndex) => {
          if (columnIndex === 0) {
            return '合计'
          }
          if (
            [
              'purchaseAmount'
            ].includes(column.property)
          ) {
            return this.$utils.sum(data, column.property)
          }
          return null
        })
      ]
    },

(6)vxe-gird的columns属性的运用:
1、slots插槽的使用,{“header”:“headerSlots”,“default”:“defaultSlots”},header为表头插槽,headerSlots为这个表头插槽的名字,default为内容插槽,defaultSlots为这个内容插槽的名字,要想使用插槽,只需要slot=“headerSlots”,slot="defaultSlots"就会默认为你设置的那一列的插槽
(7)在表格的表头插槽中使用data里面的数据时,在请求接口改变了data中的数据后,插槽里面的数据不会跟着更新,解决方法:可以给表格设置v-if,当数据更新之后再让表格展示
(8)合并行或列
在这里插入图片描述

mergeRowMethod ({ row, _rowIndex, column, visibleData }) {
      const cellValue = row[column.property]
      if (cellValue && column.property === 'oldGoodsCode') {
        const prevRow = visibleData[_rowIndex - 1]
        let nextRow = visibleData[_rowIndex + 1]
        if (prevRow && prevRow[column.property] === cellValue) {
          return { rowspan: 0, colspan: 0 }
        } else {
          let countRowspan = 1
          while (nextRow && nextRow[column.property] === cellValue) {
            nextRow = visibleData[++countRowspan + _rowIndex]
          }
          if (countRowspan > 1) {
            return { rowspan: countRowspan, colspan: 1 }
          }
        }
      } else if (column.type) { // 合并type存在的行
        const value = row['oldGoodsCode']
        const prevRow = visibleData[_rowIndex - 1]
        let nextRow = visibleData[_rowIndex + 1]
        if (prevRow && prevRow['oldGoodsCode'] === value) {
          return { rowspan: 0, colspan: 0 }
        } else {
          let countRowspan = 1
          while (nextRow && nextRow['oldGoodsCode'] === value) {
            nextRow = visibleData[++countRowspan + _rowIndex]
          }
          if (countRowspan > 1) {
            return { rowspan: countRowspan, colspan: 1 }
          }
        }
      }
    },
el-tablevxe-table是两个常用的Vue表格解决方案。它们各自有些优点和缺点。 el-table是Element UI库中的个组件,具有以下优点: - 官方支持:el-table是Element UI官方提供的件,因此可以获得官方的技术支持和更新。 - 功能丰富:el-table提供了许多内置的功能,如排序、筛选、分页等,可以满足大部分常见的表格需求。 - 易于使用:el-table的API设计简单明了,易于上手和使用。 然而,el-table也有些缺点: - 样式定制性较差:el-table的样式定制性相对较差,如果需要自定义表格的样式,可能需要覆盖些默认的样式。 - 功能相对有限:el-table虽然提供了些常见的功能,但在些特殊需求下可能无法满足。 vxe-table个基于Vue的表格解决方案,具有以下优点: - 强大的功能:vxe-table提供了丰富的功能,如排序、筛选、分页、合并单元格、导出等,可以满足各种复杂的表格需求。 - 高度可定制:vxe-table提供了丰富的配置选项和插槽,可以灵活地定制表格的样式和行为。 - 社区活跃:vxe-table个活跃的社区,提供了大量的示例和文档,方便开发者学习和使用。 然而,vxe-table也有些缺点: - 学习成本较高:vxe-table的API相对复杂,需要定的学习成本。 - 不是官方支持:vxe-table不是官方提供的解决方案,可能无法获得官方的技术支持和更新。 综上所述,el-table适合简单的表格需求,易于使用;而vxe-table适合复杂的表格需求,具有强大的功能和高度可定制性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值