vue常见问题:

发布于:2025-07-01 ⋅ 阅读:(20) ⋅ 点赞:(0)

一. node

1. node-数据流导出文件

   ①. node端:api返回数据流形式,在node中间件通过管道处理res传给前端调用
   ②. axious:和url/get/data,同级给个有关buffer属性
   ③. vue:调用接口,Blob + URL.createObjectURL()
       a.创建Blob对象
       b.判断是否为traffer对象
       c. 创建临时的url
       d. 创建<a>标签并触发点击下载
       e. 释放URL对象并移除<a>标签

function downloadFile(content, fileName, mimeType) {
  // 1. 创建 Blob 对象
  const blob = new Blob([content], { type: mimeType });
  
  // 2. 创建临时 URL
  const url = URL.createObjectURL(blob);
  
  // 3. 创建 <a> 标签并触发点击下载
  const a = document.createElement('a');
  a.href = url;
  a.download = fileName;
  document.body.appendChild(a);
  a.click();
  
  // 4. 释放 URL 对象并移除 <a> 标签
  setTimeout(() => {
    URL.revokeObjectURL(url);
    document.body.removeChild(a);
  }, 100);
}

// 示例:导出文本文件
const textContent = "Hello, this is a text file!";
downloadFile(textContent, "example.txt", "text/plain");

// 示例:导出 JSON 文件
const jsonData = { name: "Alice", age: 25 };
downloadFile(JSON.stringify(jsonData, null, 2), "data.json", "application/json");

// 示例:导出 CSV 文件
const csvContent = "Name,Age\nAlice,25\nBob,30";
downloadFile(csvContent, "data.csv", "text/csv");


 新需求:状态码也需要返回到vue调用???

二. vscode插件   

1. vsode插件--prettier:.js文件自动保存并进制4个空格,vue不自动保存

   vetur和beauty插件冲突

三.git

1.vscode中没有提交的文件,合并dev提示,有未提交的文件
加载撤销修改的文件过程中就合并了dev
   解决:
    ①.git status 查看问题
    ②.git merge:--abort(如果合并未完成)
    ③.git reset --hard origin/分支(强制同步远程)
    ④.git pull 重新拉取
    ⑤.如有冲突,手动解决后提交

四.elementplus

1. el-input:input输入框输入文本切换路由,获取失焦事件,调用更新草稿api

   直接调用api,不用防抖

2. el-checkbox:点击全选,选中项是否都在列表中存在。是则全选,不是则取消全选

every遍历列表,列表项是否includes选中项

3. el-selected:点击全选删除的选中项存在输入框中,除非人为删除???

五.状态码

1. 权限问题:合同中心的合同号在其他账户依然可以看到详情

 需要后台返回权限的状态码,如果try--success则200,304,511;catch--false