【#3203】JSelectBizComponent columns 建议开放customRender等方法类配置]

pull/3283/head
zhangdaiscott 2021-12-06 00:08:29 +08:00
parent 2a5ec11660
commit 6c362861a0
1 changed files with 18 additions and 4 deletions

View File

@ -62,8 +62,9 @@
import { getAction } from '@/api/manage' import { getAction } from '@/api/manage'
import Ellipsis from '@/components/Ellipsis' import Ellipsis from '@/components/Ellipsis'
import { JeecgListMixin } from '@/mixins/JeecgListMixin' import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import { cloneObject, pushIfNotExist } from '@/utils/util' import { pushIfNotExist } from '@/utils/util'
import JSelectBizQueryItem from './JSelectBizQueryItem' import JSelectBizQueryItem from './JSelectBizQueryItem'
import {cloneDeep} from 'lodash'
export default { export default {
name: 'JSelectBizComponentModal', name: 'JSelectBizComponentModal',
@ -177,11 +178,24 @@
computed: { computed: {
// 表头 // 表头
innerColumns() { innerColumns() {
let columns = cloneObject(this.columns) let columns = cloneDeep(this.columns)
columns.forEach(column => { columns.forEach(column => {
// 给所有的列加上过长裁剪 // 给所有的列加上过长裁剪
if (this.ellipsisLength !== -1) { if (this.ellipsisLength !== -1) {
column.customRender = (text) => this.renderEllipsis(text) // JSelectBizComponent columns 建议开放customRender等方法类配置
// https://github.com/jeecgboot/jeecg-boot/issues/3203
let myCustomRender = column.customRender
column.customRender = (text, record, index) => {
let value = text
if (typeof myCustomRender === 'function') {
// noinspection JSVoidFunctionReturnValueUsed
value = myCustomRender(text, record, index)
}
if (typeof value === 'string') {
return this.renderEllipsis(value)
}
return value
}
} }
}) })
return columns return columns
@ -192,7 +206,7 @@
deep: true, deep: true,
immediate: true, immediate: true,
handler(val) { handler(val) {
this.innerValue = cloneObject(val) this.innerValue = cloneDeep(val)
this.selectedRowKeys = [] this.selectedRowKeys = []
this.valueWatchHandler(val) this.valueWatchHandler(val)
this.queryOptionsByValue(val) this.queryOptionsByValue(val)