作者:小鱼014999 | 来源:互联网 | 2023-06-19 14:41
showName.length > 3 ? (showName).substring(0, 3) + "..." : showName
正常,我们会这样子写分割字符串,但是在flutter端,如果遇到了emoji表情,则会出现问题。emoji表情会导致无法正确计算出showName的长度,分割后在Text上显示就会报错了。
正确的分割方式:
static String maxLength(String str, int len) {
// 删除emoji表情
var sRunes = str.runes;
return sRunes.length > len ? String.fromCharCodes(sRunes, 0, sRunes.length - len) +"...":str;
}