vue3模拟AI逐字显示、复制粘贴功能

逐字显示

  getAiAnswer(); //获取state.aiText
  state.messages.push({
    imgs: state.fileList.map((item: any) => item.url),
    user: state.inputText,
    // ai: state.aiText,
    ai: "",
  });
  //逐字显示
  let i = 0;
  let timer = setInterval(() => {
    if (i < state.aiText.length) {
      state.messages[state.messages.length - 1].ai += state.aiText[i];
    //使用锚点定位到最新消息
    const endBox = document.querySelector(".end-box");
    if (endBox) {
      endBox.scrollIntoView();
    };
      i++;
    } else {
      clearInterval(timer);
    }
  }, 50);

复制到剪贴板功能,使用户能ctrl+v粘贴

import { useMessage } from "/@/hooks/web/useMessage";
import { useCopyToClipboard } from "/@/hooks/web/useCopyToClipboard";

const { createMessage } = useMessage();

// 复制
const onCopy = (text: string) => {
  const { isSuccessRef } = useCopyToClipboard(text);
  unref(isSuccessRef) && createMessage.success("复制成功");
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值