for (let i = 0; i <= res.data.data.length; i++) {
setTimeout(() => {
this.report = res.data.data.slice(0, i);
}, 10);
}
如果换行不显示则在此div的css中加入white-space: pre-wrap;
第二种方法
var rep = res.data.data;
let chat = document.getElementById("sport-content");
chat.scrollTop = chat.scrollHeight;
// 设置初始文本
this.report = '';
// 生成随机延迟时间
function getRandomDelay(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
// 逐字显示函数
function typeText(text, index) {
if (index < text.length) {
// 在报告中追加一个字符
this.report += text.charAt(index);
chat.scrollTop = chat.scrollHeight; // 滚动到底部
// 递归调用,显示下一个字符,延迟时间随机
setTimeout(() => typeText.call(this, text, index + 1), getRandomDelay(20, 40));
}
}
// 开始逐字显示
typeText.call(this, rep, 0);
console.log('getset', this.report);