前端实习D18

控制台出现的sockjs-node/info?t= net::ERR_CONNECTION_TIMED_OUT异常

 在vue.config.js文件中的module.exports中的devServer中加上host: ‘localhost’

Unknown custom element: <> - did you register the component correctly? For recursive compon 

第一种: 看 components:{},单词是否拼错,和不要写成components(){}
第二种:本页面components 看写了几个, 是否是因为覆盖了。只能有一个components:{}

第三种,检查引入的组件 确定是否需要{} , import XXX from "...." 还是 import { XXX } from "...."

第四种: div 的id和 components的name一样 也会报这个错误,也就是页面不要出现相同id的名字

下载/导出文件:

  • 拦截器判断是不是blob类型(二进制流),如果是直接返回数据,不再进行解构(src/utils/request.js)

  if (response.data instanceof Blob) return response.data // 返回了Blob对象

  • 安装file-saver    npm i file-saver
  • 点击按钮调用接口,使用file-saver将blob转化成文件下载-代码位置(src/views/employee/index.vue)
    <el-button size="mini" @click="exportEmployee">excel导出</el-button>
    
     import FileSaver from 'file-saver'
     import { exportEmployee } from '@/api/employee'
    
      async  exportEmployee() {
          const result = await exportEmployee() // 导出所有的员工接口
          // console.log(result) // 使用一个npm包 直接将blob文件下载到本地 file-saver
          // FileSaver.saveAs(blob对象,文件名称)
          FileSaver.saveAs(result, '员工信息表.xlsx') // 下载文件
     }

    分页

  • 在el-table绑定数据
    <el-table 
    :data="tableData.slice((pageParams.currentPage-1)*pageParams.pageSize,pageParams.currentPage*pageParams.pageSize)" 
    border  
    table-layout='fixed' 
    class="tableAuto"
    style="width:100%">

    组件

    <el-pagination class="pagination"
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
        :current-page="pageParams.currentPage"                
        :page-size="pageParams.pageSize"
        :page-sizes="[5,10,20,30,40,50]"
        layout="total, sizes, prev, pager, next, jumper"
        :total="pageParams.total">
    </el-pagination>

data

  pageParams: {
                pageSize: 5, //每页的条数
                total: 0, //总条数
                currentPage: 1, 
            },

在获取数据时 getetDelivertTimeList(){}

this.pageParams.total=this.tableData.length    
handleSizeChange(val) {  //切换每页展示条数
    this.pageParams.pageSize = val;
    console.log(`每页 ${val} 条`);
},
handleCurrentChange(val) {  //切换当前页数
    this.pageParams.currentPage= val
    console.log(`当前页: ${val}`);
},    

点击删除后有时不能自动刷新。

删除操作后立即执行刷新操作,而删除操作或响应处理(如UI更新)可能还未完全完成。在这种情况下,确实可以通过使用 setTimeout 来延迟刷新操作。

如果 delHolidayMsg 是一个异步函数,并且它返回了一个Promise,那么你可以直接在这个Promise解决后再进行刷新操作,而不需要额外的 setTimeout

 delHolidayMsg(row.id).then(() => {  
            this.$message({  
                type: 'success',  
                message: '删除成功!'  
            });  
            this.getHolidayMsgList(); // 在删除成功的Promise解决后调用

  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值