在我的項目中使用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返回出去;沒如此做過不知道是否可行,此處只是建議