#3276·vxe-table

希望调整单元格的插槽/格式化器/渲染器应用顺序

Author: touch-xzcCreated Sep 11, 2026Updated Sep 14, 2026
Labelsenhancement

这个需求解决了什么问题:

vxe-table 存在editRender时,cellRender无法生效。 需要 结合两个渲染器来创建新渲染器,再将新渲染器设置为editRender 或 使用#default+editRender

调整后 cellRendereditRender同时存在时,默认模式应用cellRenderrenderTableCell/renderTableDefault,编辑模式应用editRenderrenderTableEdit,使用渲染器更灵活

建议的 API 是什么样的:

[email protected] 单元格插槽/格式化器/渲染器大致优先级(括号内为方法名) 默认状态 defaultSlot(runRenderer) > formatter(runRenderer) > editRender[renderTableCell/renderTableDefault](renderDefaultCell) > 无editRendercellRender[renderTableCell/renderTableDefault](renderDefaultCell) 编辑状态 editSlot(runRenderer) > editRender[renderTableEdit](runRenderer) > defaultSlot(runRenderer) > formatter(runRenderer) > editRender[renderTableCell/renderTableDefault](renderDefaultCell) > 无editRendercellRender[renderTableCell/renderTableDefault](renderDefaultCell)

希望: 默认状态 defaultSlot > formatter > cellRender[renderTableCell/renderTableDefault] > 无cellRendereditRender[renderTableCell/renderTableDefault] 编辑状态 editSlot > editRender[renderTableEdit] > defaultSlot > formatter > cellRender[renderTableCell/renderTableDefault] > 无cellRendereditRender[renderTableCell/renderTableDefault]

是否已有其他不错的替代方案:

No response

是否使用当前最新版本?

  • 我已确认是使用当前的最新版本。