12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import { getFieldValue, isNotEmpty, setFieldValue } from '@cip/utils/util'
- export const getValuesByKeys = (data = {}, keys = []) => {
- const result = {}
- keys.forEach(key => {
- if (typeof key === 'object') {
- const object = key
- setFieldValue(result, object.key, getFieldValue(data, object.key))
- } else {
- setFieldValue(result, key, getFieldValue(data, key))
- }
- })
- return result
- }
- export const setValuesByKeys = (target = {}, keys = [], values = {}) => {
- keys.forEach(key => {
- if (typeof key === 'object') {
- const object = key
- setFieldValue(target, object.key, getFieldValue(values, object.key))
- } else {
- setFieldValue(target, key, getFieldValue(values, key))
- }
- })
- }
- export const isHideLabel = (config) => {
- return config.hideLabel || (isNotEmpty(config.labelWidth) && !config.labelWidth) || !config.label
- }
- export const getLabelWidth = (config) => {
- if (config.hideLabel) return '0px'
- if (config.labelWidth) return config.labelWidth + 'px'
- if (!config.label) return '0px' // 兼容老的设计
- return undefined
- }
- export const getChangeIndex = (values, oldValues) => {
- const result = []
- values.forEach((v, i) => {
- if (typeof v === 'object') {
- // 数组 对象相等判断
- // 无法通过值来判断对象级数组是否变化 (地址引用导致2个值一直都是相等的)
- result.push(i)
- } else {
- if (v !== oldValues[i]) {
- result.push(i)
- }
- }
- })
- return result
- }
- export const judgeUseFn = (key, config, effect) => {
- if (!effect) return config[key] // 没有effect 参数则直接使用config[key]
- if (effect && key in effect) { // 有effect 且 effect对象明确存在key(不管其值为什么)
- if (typeof effect[key] === 'function') return effect[key] // effect中的值为函数 则认为此次响应使用局部方法
- return config[key]
- }
- }
|