mirror of
https://github.com/veops/cmdb.git
synced 2025-08-09 03:47:51 +08:00
47 lines
1007 B
Python
47 lines
1007 B
Python
/**
|
||
* 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
|
||
}, '')
|
||
}
|