mirror of
https://gitee.com/xuliangzhan_admin/vxe-table.git
synced 2026-01-21 05:27:57 +08:00
优化重构
This commit is contained in:
@@ -9,25 +9,25 @@ function getColFuncWidth (isExists, defaultWidth = 16) {
|
||||
return isExists ? defaultWidth : 0
|
||||
}
|
||||
|
||||
function buildField (column) {
|
||||
const { property } = column
|
||||
return 'row' + (/^\d+/.test(property) ? `[${property}]` : (/^\[/.test(property) ? property : `.${property}`))
|
||||
}
|
||||
// function buildField (column) {
|
||||
// const { property } = column
|
||||
// return 'row' + (/^\d+/.test(property) ? `[${property}]` : (/^\[/.test(property) ? property : `.${property}`))
|
||||
// }
|
||||
|
||||
function buildGetField (column) {
|
||||
/* eslint-disable no-new-func */
|
||||
return new Function('row', 'return ' + (column.property ? buildField(column) : 'null'))
|
||||
}
|
||||
// function buildGetField (column) {
|
||||
// /* eslint-disable no-new-func */
|
||||
// return new Function('row', 'return ' + (column.property ? buildField(column) : 'null'))
|
||||
// }
|
||||
|
||||
function buildSetField (column) {
|
||||
/* eslint-disable no-new-func */
|
||||
return new Function('row,value', column.property ? buildField(column) + '=value' : '')
|
||||
}
|
||||
// function buildSetField (column) {
|
||||
// /* eslint-disable no-new-func */
|
||||
// return new Function('row,value', column.property ? buildField(column) + '=value' : '')
|
||||
// }
|
||||
|
||||
function handleColumnField (column) {
|
||||
column.gVal = buildGetField(column)
|
||||
column.sVal = buildSetField(column)
|
||||
}
|
||||
// function handleColumnField (column) {
|
||||
// column.gVal = buildGetField(column)
|
||||
// column.sVal = buildSetField(column)
|
||||
// }
|
||||
|
||||
class ColumnConfig {
|
||||
/* eslint-disable @typescript-eslint/no-use-before-define */
|
||||
@@ -120,16 +120,16 @@ class ColumnConfig {
|
||||
if (proxyOpts && proxyOpts.beforeColumn) {
|
||||
proxyOpts.beforeColumn({ $grid: $xegrid, column: this })
|
||||
}
|
||||
handleColumnField(this)
|
||||
// handleColumnField(this)
|
||||
}
|
||||
|
||||
getValueByRow (row) {
|
||||
return this.gVal(row)
|
||||
}
|
||||
// getValueByRow (row) {
|
||||
// return this.gVal(row)
|
||||
// }
|
||||
|
||||
setValueByRow (row) {
|
||||
this.sVal(row)
|
||||
}
|
||||
// setValueByRow (row) {
|
||||
// this.sVal(row)
|
||||
// }
|
||||
|
||||
getTitle () {
|
||||
return UtilTools.getFuncText(this.own.title || (this.type === 'seq' ? GlobalConfig.i18n('vxe.table.seqTitle') : ''))
|
||||
@@ -148,9 +148,9 @@ class ColumnConfig {
|
||||
// 不支持双向的属性
|
||||
if (name !== 'filters') {
|
||||
this[name] = value
|
||||
if (name === 'field') {
|
||||
handleColumnField(this)
|
||||
}
|
||||
// if (name === 'field') {
|
||||
// handleColumnField(this)
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,14 +5,6 @@ import { UtilTools } from '../../tools'
|
||||
const inputEventTypes = ['input', 'textarea', '$input', '$textarea']
|
||||
const defaultCompProps = { transfer: true }
|
||||
|
||||
function getModelProp () {
|
||||
return 'value'
|
||||
}
|
||||
|
||||
function getModelEvent () {
|
||||
return 'input'
|
||||
}
|
||||
|
||||
function getChangeEvent (renderOpts) {
|
||||
return inputEventTypes.indexOf(renderOpts.name) > -1 ? 'input' : 'change'
|
||||
}
|
||||
@@ -48,17 +40,17 @@ function getNativeAttrs ({ name, attrs }) {
|
||||
|
||||
function getCellEditFilterProps (renderOpts, params, value, defaultProps) {
|
||||
const { vSize } = params.$table
|
||||
return XEUtils.assign(vSize ? { size: vSize } : {}, defaultCompProps, defaultProps, renderOpts.props, { [getModelProp(renderOpts)]: value })
|
||||
return XEUtils.assign(vSize ? { size: vSize } : {}, defaultCompProps, defaultProps, renderOpts.props, { value })
|
||||
}
|
||||
|
||||
function getItemProps (renderOpts, params, value, defaultProps) {
|
||||
const { vSize } = params.$form
|
||||
return XEUtils.assign(vSize ? { size: vSize } : {}, defaultCompProps, defaultProps, renderOpts.props, { [getModelProp(renderOpts)]: value })
|
||||
return XEUtils.assign(vSize ? { size: vSize } : {}, defaultCompProps, defaultProps, renderOpts.props, { value })
|
||||
}
|
||||
|
||||
function getOns (renderOpts, params, inputFunc, changeFunc) {
|
||||
const { events } = renderOpts
|
||||
const modelEvent = getModelEvent(renderOpts)
|
||||
const modelEvent = 'input'
|
||||
const changeEvent = getChangeEvent(renderOpts)
|
||||
const isSameEvent = changeEvent === modelEvent
|
||||
const ons = {}
|
||||
|
||||
Reference in New Issue
Block a user