【debug】ElementPlus table组件column传入formatter类型报错

报错如下:

不能将类型"((row: ShortUserPayType) => string) | ((row: ShortUserPayType) => number) | undefined"分配给类型"((row: any, column: TableColumnCtx<any>, cellValue: any, index: number) => string | VNode<RendererNode, RendererElement, { ...; }>) | undefined"。

组件要求传入的formatter函数必须定义为:

javascript 复制代码
((row: any, column: TableColumnCtx`<any>`, cellValue: any, index: number) => string | VNode<RendererNode, RendererElement, { ...; }>) | undefined"

但我不需要这么多属性,我只需要row属性。

解决方法,自定义一个Column类型:

javascript 复制代码
export interface Column {
  key: string
  title: string
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
  formatter?: (...args: any) => any
}

这使得formatter 函数可以接受 ElementPlus 所期望的四个参数,也可以只接受一个参数,或者根本不接受参数。

javascript 复制代码
const columns: Column[] = [...]
html 复制代码
<el-table-column
  v-for="column in columns"
  :key="column.key"
  :prop="column.key"
  :label="column.title"
  :formatter="column.formatter"
/>
相关推荐
xiao阿娜的妙妙屋13 分钟前
当AI Agent开始自我进化,我们普通人应该怎么办?
前端
sudo_jin4 分钟前
从“谁调用指向谁”到“手写Bind源码”,彻底搞懂JavaScript的this机制
前端·javascript
小蜜蜂dry5 分钟前
nestjs实战-登录、鉴权(二)
前端·后端·nestjs
全栈王校长5 分钟前
Nest 文件上传 - 就是增强版的 el-upload
前端·后端·nestjs
ZC跨境爬虫5 分钟前
海南大学交友平台开发实战 day10(后端向前端输出_前端读取数据全流程联调+日志调试落地)
前端·python·sqlite·html·状态模式
xiaotao1316 分钟前
CSS中的Grid 布局
前端·css
cc_heart6 分钟前
antdv-next/x:面向 Vue 的 AI 组件体系
前端·javascript·vue.js
竹林8186 分钟前
RainbowKit快速集成多链钱包连接:从“一键连接”到“多链切换”的实战踩坑
前端·javascript
用户81274828151208 分钟前
android使用uinput节点任意注入鼠标事件-重学安卓input子系统
前端
用户69371750013849 分钟前
AI来了,同事们的效率为什么差这么多?
android·前端·ai编程