el-table 用span-method合并行,表格中有一列数据是用户输入的,表格已经渲染完成,但是每次输入数据的时候,都会执行span-method,重新计算合并逻辑,有什么办法能只在初次渲染时执行span-method,后面输入数据不执行span-method
<template> <div> <el-table :data="tableData" :span-method="objectSpanMethod" border style="width: 100%; margin-top: 20px" > <el-table-column prop="id" label="ID" width="180" /> <el-table-column prop="name" label="Name" /> <el-table-column prop="amount1" label="Amount 1" /> <el-table-column prop="amount2" label="Amount 2" /> <el-table-column prop="amount3" label="Amount 3" > <template #default="scope"> <el-input v-model="scope.row.inputVal" ></el-input> </template> </el-table-column> </el-table> </div></template><script lang="ts" setup>import type { TableColumnCtx } from 'element-plus'interface User { id: string name: string amount1: string amount2: string amount3: string}interface SpanMethodProps { row: User column: TableColumnCtx<User> rowIndex: number columnIndex: number}const objectSpanMethod = ({ row, column, rowIndex, columnIndex,}: SpanMethodProps) => { console.log('触发 objectSpanMethod') if (columnIndex === 0) { if (rowIndex % 2 === 0) { return { rowspan: 2, colspan: 1, } } else { return { rowspan: 0, colspan: 0, } } }}const tableData: User[] = [ { id: '12987122', name: 'Tom', amount1: '234', amount2: '3.2', amount3: '', }, { id: '12987123', name: 'Tom', amount1: '165', amount2: '4.43', amount3: '', }, { id: '12987124', name: 'Tom', amount1: '324', amount2: '1.9', amount3: '', }, { id: '12987125', name: 'Tom', amount1: '621', amount2: '2.2', amount3: '', }, { id: '12987126', name: 'Tom', amount1: '539', amount2: '4.1', amount3: '', },]</script>
以上是个例子,可以打开下面演示地址试试,打开控制台,可以看到每次填数据都会输出
演示地址
没办法什么好办法,因为你要驱动视图渲染。
除非你改成非受控的输入框,或者把 el-input
绑定的值从 scope.row.input
改成其他的一个新变量。但是最终你都要去更新总计栏中的值,或者需要额外收集用户收入的新数据。
所以不如旧直接给 span-method
套一个 debounce/throttle
延迟执行就好了。
el-table 如何根据表格数据合并行。 如图所示,name列的值一样,就合并成一行;Amount 1列合并成3行 演示地址
请问这样的数据在el-table里如何渲染出来,activityList也要渲染 id activityList 1 test1(2),test2(3) 这样的数据应该如何去渲染 还是处理一下rows里面的activityList这个数据?
在线demo: https://codesandbox.io/s/el-table-he-bing-xing-de-hover-wen-t... 效果1:鼠标悬停在第一行的时候,跟悬停第二行一样,只高亮右侧(或者每一行都高亮合并行) 效果2:鼠标悬停在合并行的时候,触发所有行的高亮
前言 在游戏开发中,Draw call 作为一个非常重要的性能指标,直接影响游戏的整体性能表现。Draw call 就是 CPU 调用图形 API,比如 OpenGL,命令 GPU 进行图形绘制。一次 Draw call 就代表一次图形绘制命令,由于 Draw call 带来的 CPU 及 GPU 的渲染状态切换消耗,往往需要通过批次合并来降低 Draw call 的调用次数。批次合并的本质就是在
问题内容: 每次调用时,React都会重新渲染所有组件和子组件吗? 如果是这样,为什么?我以为这个想法是,当状态改变时,React只渲染所需的内容。 在下面的简单示例中,尽管onClick处理程序始终将设置为相同的值,但是在随后的单击中状态不会改变,这两个类在单击文本时都再次呈现。 我曾希望只有在数据更改的情况下才会进行渲染。 这是示例代码,例如JS Fiddle和嵌入式代码段: 问题答案: 每次
问题内容: 每次调用时,React都会重新渲染所有组件和子组件吗? 如果是这样,为什么?我以为这个想法是,当状态改变时,React只能渲染所需的内容。 在下面的简单示例中,尽管onClick处理程序始终将设置为相同的值,但是在随后的单击中状态不会改变,这两个类都在单击文本时再次呈现。 我曾希望只有在数据更改的情况下才会进行渲染。 这是示例代码,例如JS Fiddle和嵌入式代码段: 问题答案: 每