el-table【合并行】+【筛选功能】+【配置列】+【点击跳转】功能

这篇具有很好参考价值的文章主要介绍了el-table【合并行】+【筛选功能】+【配置列】+【点击跳转】功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

效果图:

el-table 如何做筛选,element-ui 学习,vue.js,javascript,前端,ui,elementui

 

1. 【合并行】

通过给table传入span-method方法可以实现合并行或列,方法的参数是一个对象,里面包含当前行row、当前列column、当前行号rowIndex、当前列号columnIndex四个属性。该函数可以返回一个包含两个元素的数组,第一个元素代表rowspan,第二个元素代表colspan。 也可以返回一个键名为rowspancolspan的对象。

:span-method="objectSpanMethod"

spanNumArr: [], // 合并行数
posNum: [], // 记录位置


created() {
  // 获取合并行行数
  this.getSpanNumArr(this.tableData)
},

methods: {
  // 获取合并行的行数
  getSpanNumArr(data) {
    this.spanNumArr = []
    this.posNum = 0
    for (var i = 0; i < data.length; i++) {
      if (i === 0) {
        this.spanNumArr.push(1)
        this.posNum = 0
      } else {
        if (data[i].name === data[i - 1].name) {
          this.spanNumArr[this.posNum] += 1
          this.spanNumArr.push(0)
        } else {
          this.spanNumArr.push(1)
          this.posNum = i
        }
      }
    }
  },
  // 设置合并行
  objectSpanMethod({ row, column, rowIndex, columnIndex }) {
    if (column.property == 'name') {
      const _row = this.spanNumArr[rowIndex]
      const _col = _row > 0 ? 1 : 0 // 0 值是为了去除错位
      return {
        rowspan: _row,
        colspan: _col
      }
    }
  },
}

2.【筛选功能】

在列中设置filtersfilter-method属性即可开启该列的筛选,filters 是一个数组,filter-method是一个方法,它用于决定某些数据是否显示,会传入三个参数:valuerow 和 column文章来源地址https://www.toymoban.com/news/detail-597643.html

:filters="tableFilter[item.prop]"
:filter-method="filterHandler"

tableFilter: {}, // 定义过滤的值

created() {
  this.$nextTick(() => {
    // 初始化时将table的所有数据赋值给tableFilter,即默认展示所有数据
    this.handleFilter(this.tableData) 
  })
}

methods:{
     // 过滤选中的值
    filterHandler(value, row, column) {
      const property = column['property']
      
      // 过滤操作需要修改dom结构,因此需要用到 this.$nextTick
      this.$nextTick(() => {
        this.handleFilter(this.tableData, property) // 过滤完的列表数据,选中的属性
      })
      return row[property] === value // value是filters里绑定的数据里选中的项的value
    },
    // 过滤的方法
    handleFilter(list, property) {
      
      // 遍历展示列的每一列
      this.finallyColumns.forEach(val => {
 

到了这里,关于el-table【合并行】+【筛选功能】+【配置列】+【点击跳转】功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue+Element Ui实现el-table自定义表头下拉选择表头筛选

    用vue+element ui开发管理系统时,使用el-table做表格,当表格列过多的时候,想要做成可选表头的,实现表格列的筛选显示,效果如下: 代码文件结构: 废话不多说,直接上代码: 第一步:新建名为 TableHeaderRender.vue 的文件 template   el-popover     placement=\\\"bottom\\\"     width=\\\"2

    2024年02月02日
    浏览(52)
  • el-table 表格头部合并

    就是这样哟

    2024年02月14日
    浏览(32)
  • el-table合并单元格

    el-tabel数据结构 此处为this.rolePermitItemList 合并后的样式: el-table-column 需要添加property字段,属性值同props,用来判断需要合并的字段

    2024年02月14日
    浏览(32)
  • el-table单元格合并思路

    el-table单元格合并的关键是el-table的 span-method 属性,本文将讲解一下我在单元格合并的思路,本人前端小白,可能有理解错误仅供参考,本文重点介绍思路,毕竟每个人需求不一样 注意:有时候不需要单元格合并,可以使用插槽 前提 单元格的合并必须得有数据,所以应该先

    2024年02月12日
    浏览(30)
  • el-table实现指定列合并

    table 传入 span-method 方法可以实现合并行或列,方法的参数是一个对象,里面包含当前行 row 、当前列 column 、当前行号 rowIndex 、当前列号 columnIndex 四个属性。该函数可以返回一个包含两个元素的数组,第一个元素代表 rowspan ,第二个元素代表 colspan 。 也可以返回一个键名为

    2024年02月13日
    浏览(26)
  • el-table 怎么合并相同单元格

    问题背景 项目需求table表格中,相同的类型合并成一个单元格展示。 问题描述 el-table 并没有相关的语法直接合并,需要我们自己传入一个方法返回一个数组格式,来确定要合并行列。 解决问题 首先需要在 el-table 标签上绑定 :span-method=\\\"objectSpanMethod\\\" 再去 methods 中定义 object

    2024年02月16日
    浏览(40)
  • el-table点击单元格可编辑

    template   div     el-table       @cell-click=\\\"cellClick\\\"       :row-class-name=\\\"tableRowClassName\\\"       :cell-class-name=\\\"tableCellClassName\\\"       :data=\\\"tableData\\\"       style=\\\"width: 500px\\\"       border           el-table-column prop=\\\"weightName\\\" label=\\\"权重项\\\"         template slot-scope=\\\"{ row, column }\\\"          

    2024年02月12日
    浏览(31)
  • el-table点击每一行加背景颜色

    HTML JS CSS 总结: 相当于是没次点击给它加个class类名,用到的是el-table的属性名【row-class-name】,然后还有每一行的点击事件【row-click】  给每一行滑过加高亮:  

    2024年01月19日
    浏览(30)
  • Element ui el-table 合并单元格

      el-table v-loading=\\\"loading\\\" :data=\\\"tableData\\\" style=\\\"width: 100%\\\" highlight-current-row :span-method=\\\"arraySpanMethod\\\"         el-table-column type=\\\"index\\\" label=\\\"序号\\\" /         el-table-column v-for=\\\"item in formThead\\\" :key=\\\"item.label\\\" :label=\\\"item.label\\\" :prop=\\\"item.prop\\\" :formatter=\\\"item.formatter\\\" :width=\\\"item.width || \\\'auto\\\'\\\" /        

    2024年02月02日
    浏览(31)
  • el-table 实现表、表格行、表格列合并

    最近写vue开发项目的时候,很多地方用到了Element组件中的Table 表格。经过一周的边学边做,我总结了以下三种有关表格的合并方法。 话不多说,先看效果图  代码如下: 表格结构如上,其中:header-cell-style对表头做了一些处理。  效果图如: 代码如下: 要进行表格合并,关

    2024年02月09日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包