IT-Debuger

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在我的项目中使用vxe table组件时,edit-render配置{name: '$select', options: [{label:"脉搏",value:"maibo"},{label:"体温",value:"temp"}...]}。

当激活单元格的edit-render选中某个option后,

移走或关闭单元格(cell)的激活状态,此单元格会显示option的value而不是label,value是与后台交互的代码,label实时显示给用户辨识的,

结果如图:

 

 

 移走或关闭单元格(cell)的激活状态后显示结果,如图:

 

 

 此时显示的不是选中的option的label,而是其value值,正常情况应该是label显示在前端,value与后端交互使用。

为了找到解决方法,尝试了各种途径,最终才找到原因,问题出在vxe-column的属性formatter上,此属性不能和

属性edit-render配置{name: '$select'}一起用,会导致select选中后显示value。去除配置formatter后,结果如图:

 

 

 关闭单元格编辑状态后结果如图:

 

 

 去除vxe-column的属性formatter只是治标的方法,如果此时一定要使用formatter属性,可以自己处理,将

formatter的执行函数的cellValue参数(cellValue即是option选中项的value)与select的options匹配一下,

匹配到option选中项的label返回出去;没如此做过不知道是否可行,此处只是建议

posted on 2021-10-09 12:10  IT-Debuger  阅读(5882)  评论(0编辑  收藏  举报