element-easy
Version:
crud for element ui
41 lines (39 loc) • 999 B
JavaScript
export function getFormData (formList, useDefault = true) {
const data = {}
formList.forEach((item) => {
if (!item.prop) return
const propArr = item.prop.split('.')
propArr.forEach((prop, idx) => {
let val = {}
if (idx === propArr.length - 1) {
val = useDefault ? item.default : undefined
}
if (idx === 0) {
data[prop] = data[prop] ?? val
} else {
let idxStart = 0
let str = 'data'
while (idxStart <= idx) {
str = `${str}.${propArr[idxStart]}`
idxStart++
// eslint-disable-next-line
eval(`${str}=${str}??` + JSON.stringify(val))
}
}
})
})
return data
}
export function arrayIncrease (list, num) {
const res = []
let arr = []
list.forEach((item, idx) => {
arr.push(item)
if (idx % num === num - 1) {
res.push(arr)
arr = []
}
})
if (arr.length > 0) res.push(arr)
return res
}