【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"
/>
相关推荐
qq_466302457 分钟前
Qt窗体ui如何设置中英文翻译?
开发语言·qt·ui
python百炼成钢11 分钟前
day01-Qt5入门
开发语言·qt
llleo081511 分钟前
10.11 Qt
开发语言·qt
内有小猪卖11 分钟前
tcl/perl 脚本命令学习
开发语言·学习·perl
云小遥19 分钟前
Cornerstone3D Tools对影像进行交互(中篇)-注释类工具使用
前端·vue.js
yngsqq20 分钟前
016集——c# 实现CAD类库 与窗体的交互(CAD—C#二次开发入门)
开发语言·c#
YMY哈27 分钟前
JVM内存区域
java·开发语言·jvm
Amor风信子27 分钟前
华为OD机试真题---TLV解码
java·开发语言·数据结构·算法·华为od
前端斌少29 分钟前
强大灵活的文件上传库:FilePond 详解
前端·vue·react
Y星球一号31 分钟前
若依框架生成多个sheet的Excel方法
java·开发语言·excel