element ui 表格中的渲染有多个状态判断的情况

element中表格的使用

模板:

<el-table-column label="支付方式" width="100" align="center">

   <template slot-scope="scope">

      {{scope.row.payType | payType}}

 

    </template>

 </el-table-column>

遇到这种表格的渲染,支付方式,后台返回的是1~4这四个状态

1:表示微信 2:银行卡 3: 4:。。。

当遇到这种没办法使用三元表达式渲染的时候用过滤器(filters 和 data 以及methods 同等级)

filters:{

payType (num) {

 if (num == 1) {

 return "微信支付"

        } else if (num == 2) {

          return "银行卡"

        } else if (num == 3) {

          return "快捷支付"

        } else if(num == 4) {

          return "余额支付"

        }

      }

}

### Element UI 表格组件渲染机制 Element UI表格组件通过虚拟 DOM 技术来实现高效的视图更新。每当数据发生变化时,框架会计算新旧虚拟 DOM 之间的差异,并仅应用实际需要的更改到真实 DOM 中[^4]。 为了优化性能并减少不必要的渲染,在设计上采取了几种策略: #### 数据驱动重绘 表格只会在其绑定的数据源发生变更时触发重新绘制操作。这意味着如果开发者能够确保传递给表格的新数据对象与之前的内容相同,则可以避免无意义的刷新过程。 #### 虚拟滚动技术 对于含有大量行记录的大规模表格而言,一次性加载全部内容会导致严重的性能瓶颈。因此,Element UI 实现了基于可见区域的高度模拟滚动条效果——即所谓的“懒加载”。当用户向下拉动滚动条时,只有那些即将进入视野范围内的那一部分数据才会被真正读取出来显示;而超出当前可视窗口之外的部分则暂时不作处理,从而大大降低了每次页面布局所需的时间开销以及内存占用量。 ```javascript // 设置表格高度以启用虚拟滚动功能 <el-table :data="tableData" height="250"> </el-table> ``` #### 列定义静态化 保持列配置不变有助于提高效率。因为一旦表头结构稳定下来之后就不必频繁地去解析模板或者编译新的节点实例了。所以建议尽可能早些确定好各字段对应的展示方式及其样式属性等信息。 --- ### 减少不必要的渲染方法 除了上述提到的技术手段外,还可以考虑以下几个方面来进行进一步调优: - **缓存 AJAX 请求结果**:通过对服务器端返回的数据设置合理的过期时间或采用 `Cache-Control` 头部等方式使得浏览器能够在一定时间内重复利用已获取过的资源副本而不是每次都发起全新的网络请求[^1]。 ```http Cache-Control: max-age=86400 ``` - **压缩传输内容**:开启 Gzip 压缩可有效减小文件体积进而加快下载速度。这不仅适用于 HTML/CSS/JS 文件同样也适合 JSON/XML 格式的 API 接口响应体。 - **合并脚本和样式文件**:将多个外部链接指向同一个域名下的 CSS 或 JS 合并成单个文件上传至 CDN 上供客户端访问,以此降低 DNS 查询次数提升整体载入速率[^2]。 - **预加载关键资源**:提前告知浏览器哪些图片、字体或者其他媒体素材将会在未来某个时刻需要用到,以便于尽早开始异步抓取工作而不影响主线程执行流程[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值