/**
|
* components util
|
*/
|
|
/**
|
* 清理空值,对象
|
* @param children
|
* @returns {*[]}
|
*/
|
export function filterEmpty (children = []) {
|
return children.filter(c => c.tag || (c.text && c.text.trim() !== ''))
|
}
|
|
/**
|
* 获取字符串长度,英文字符 长度1,中文字符长度2
|
* @param {*} str
|
*/
|
export const getStrFullLength = (str = '') =>
|
str.split('').reduce((pre, cur) => {
|
const charCode = cur.charCodeAt(0)
|
if (charCode >= 0 && charCode <= 128) {
|
return pre + 1
|
}
|
return pre + 2
|
}, 0)
|
|
/**
|
* 截取字符串,根据 maxLength 截取后返回
|
* @param {*} str
|
* @param {*} maxLength
|
*/
|
export const cutStrByFullLength = (str = '', maxLength) => {
|
let showLength = 0
|
return str.split('').reduce((pre, cur) => {
|
const charCode = cur.charCodeAt(0)
|
if (charCode >= 0 && charCode <= 128) {
|
showLength += 1
|
} else {
|
showLength += 2
|
}
|
if (showLength <= maxLength) {
|
return pre + cur
|
}
|
return pre
|
}, '')
|
}
|