@@ -73,6 +73,23 @@ function getItemProps (renderOpts: RenderOptions, params: FormItemRenderParams,
7373 return XEUtils . assign ( vSize ? { size : vSize } : { } , defaultProps , renderOpts . props , { [ getModelProp ( renderOpts ) ] : value } )
7474}
7575
76+ function formatText ( cellValue : any ) {
77+ return '' + ( isEmptyValue ( cellValue ) ? '' : cellValue )
78+ }
79+
80+ function getCellLabelVNs ( h : CreateElement , renderOpts : ColumnEditRenderOptions , params : ColumnEditRenderParams , cellLabel : any ) {
81+ const { placeholder } = renderOpts
82+ return [
83+ h ( 'span' , {
84+ class : 'vxe-cell--label'
85+ } , placeholder && isEmptyValue ( cellLabel ) ? [
86+ h ( 'span' , {
87+ class : 'vxe-cell--placeholder'
88+ } , formatText ( placeholder ) )
89+ ] : formatText ( cellLabel ) )
90+ ]
91+ }
92+
7693function getNativeOns ( renderOpts : RenderOptions , params : RenderParams ) {
7794 const { nativeEvents } = renderOpts
7895 const nativeOns : { [ type : string ] : Function } = { }
@@ -202,7 +219,7 @@ function getSelectCellValue (renderOpts: ColumnCellRenderOptions, params: Column
202219 }
203220 return selectlabel
204221 }
205- return null
222+ return ''
206223}
207224
208225function getCascaderCellValue ( renderOpts : RenderOptions , params : ColumnCellRenderParams ) {
@@ -360,7 +377,7 @@ function renderOptions (h: CreateElement, options: any[], optionProps: OptionPro
360377}
361378
362379function cellText ( h : CreateElement , cellValue : any ) {
363- return [ '' + ( isEmptyValue ( cellValue ) ? '' : cellValue ) ]
380+ return [ formatText ( cellValue ) ]
364381}
365382
366383function createFormItemRender ( defaultProps ?: { [ key : string ] : any } ) {
@@ -542,7 +559,7 @@ export const VXETablePluginElement = {
542559 ]
543560 } ,
544561 renderCell ( h , renderOpts , params ) {
545- return cellText ( h , getSelectCellValue ( renderOpts , params ) )
562+ return getCellLabelVNs ( h , renderOpts , params , getSelectCellValue ( renderOpts , params ) )
546563 } ,
547564 renderFilter ( h , renderOpts , params ) {
548565 const { options = [ ] , optionGroups, optionProps = { } , optionGroupProps = { } } = renderOpts
@@ -685,7 +702,7 @@ export const VXETablePluginElement = {
685702 ElCascader : {
686703 renderEdit : createEditRender ( ) ,
687704 renderCell ( h , renderOpts , params ) {
688- return cellText ( h , getCascaderCellValue ( renderOpts , params ) )
705+ return getCellLabelVNs ( h , renderOpts , params , getCascaderCellValue ( renderOpts , params ) )
689706 } ,
690707 renderItem : createFormItemRender ( ) ,
691708 renderItemContent : createFormItemRender ( ) ,
@@ -695,7 +712,7 @@ export const VXETablePluginElement = {
695712 ElDatePicker : {
696713 renderEdit : createEditRender ( ) ,
697714 renderCell ( h , renderOpts , params ) {
698- return cellText ( h , getDatePickerCellValue ( renderOpts , params ) )
715+ return getCellLabelVNs ( h , renderOpts , params , getDatePickerCellValue ( renderOpts , params ) )
699716 } ,
700717 renderFilter ( h , renderOpts , params ) {
701718 const { column } = params
@@ -747,9 +764,7 @@ export const VXETablePluginElement = {
747764 ElTimePicker : {
748765 renderEdit : createEditRender ( ) ,
749766 renderCell ( h , renderOpts , params ) {
750- return [
751- getTimePickerCellValue ( renderOpts , params )
752- ]
767+ return getCellLabelVNs ( h , renderOpts , params , getTimePickerCellValue ( renderOpts , params ) )
753768 } ,
754769 renderItem : createFormItemRender ( ) ,
755770 renderItemContent : createFormItemRender ( ) ,
0 commit comments