首页 > 其他分享 >Vue3+elementplus遇到的常见问题

Vue3+elementplus遇到的常见问题

时间:2024-08-02 14:52:22浏览次数:16  
标签:Axios 常见问题 bordList parse json elementplus Vue3 jsonBig data

1.跳转同一个路由的时候,只是参数不一样页面不刷新,不会执行onMounted

尝试多种方案,包括watch等

最终解决方案:router-view 设置 key 属性为路由的完整路径

<keep-alive>
  <router-view :key="$route.fullPath"></router-view>
</keep-alive>

eg:左侧菜单是接口返回的  

默认看板(/main/bordList)

默认看板2(/main/bordList)

这种自己凭借参数/main/bordList?看板的id--eg:/main/bordList?123

 

2.接问题1,它返回的看板ID妈的超过10位,接口返回的是经过处理的会丢失精度的问题(参考:https://zhuanlan.zhihu.com/p/691668170)

npm i json-bigint
通过 Axios 请求得到的数据都是 Axios 处理(JSON.parse)之后的,我们应该在 Axios 执行处理之前手动使用 json-bigint 来解析处理。Axios 提供了自定义处理原始后端返回数据的 API:transformResponse 。
import axios from 'axios'

import jsonBig from 'json-bigint'

var json = '{ "value" : 9223372036854775807, "v2": 123 }'

console.log(jsonBig.parse(json))

const request = axios.create({
  baseURL: '你接口的基础路径', // 接口基础路径
  timeout: 30000,
  // transformResponse 允许自定义原始的响应数据(字符串)
  transformResponse: [function (data) {
    try {
      // 如果转换成功则返回转换的数据结果
      const json = jsonBig({
        storeAsString: true
      })
  console.log("jsonBig.parse(data)", json.parse(data));
  return json.parse(data)

    } catch (err) {
      // 如果转换失败,则包装为统一数据格式并返回
      return {
        data
      }
    }
  }]
})

export default request

 

3.el-menu 最后一个菜单自动显示未省略号的问题

:ellipsis="false"这个加上就行了

 

4.手写select(甲方爸爸要图标)

5.手写的select点击页面其他地方不关闭下拉选项框

6.watch写法

7.路由跳转传参写法

8.

 

 

   

标签:Axios,常见问题,bordList,parse,json,elementplus,Vue3,jsonBig,data
From: https://www.cnblogs.com/myfirstboke/p/18338728

相关文章

  • maven 常见问题及解决方案
    1.resolutionwillnotbereattempteduntiltheupdateintervalofnexus强制更新mvncleaninstall-U2.Couldnotfindartifact如果可以通过其他途径获取到相关的jar包,可以把jar包安装到本地仓库:示例:demo.jar包上传后,项目中设置的依赖为<dependency><gr......
  • vue3 ref和reactive原理区别
    概述ref是通过一个中间对象RefImpl持有数据,并通过重写它的set和get方法实现数据劫持的,本质上依旧是通过Object.defineProperty对RefImpl的value属性进行劫持。reactive则是通过Proxy进行劫持的。Proxy无法对基本数据类型进行操作,进而导致reactive在面对基本数据类型时的束......
  • Vue3+Ts+Vite入门
    vue2采用的是vueRouter3vueX3(233)vue3采用的是vueRouter4vueX4(344)v3对比v2优点1.首次渲染更加快v2就算通过路由懒加载效率也不是非常高(查找各种依赖)v3通过vite构建工具使渲染速度更快2.diff算法更快v2新旧虚拟dom对比然后差异化更新v3对diff算法进行优......
  • 超简单!vue3+vant4+pinia+vue-router+mockjs移动端实现水果商城项目【原创】
    ......
  • VUE3 el-Menu + tabs 联动
    我们在项目中会有这种情况,根据点击侧边栏的菜单,来动态实现右侧tabs的增减,那么这种效果怎么实现呢1.模板部分<el-menu:collapse="isCollapse"active-text-color="#ffd04b"background-color="#242424"class="el-menu-vertical-demo":default-active="onRoutes&qu......
  • 4、vue3总组件/入口文件/路由设置
    1、安装element-plus依赖包npmielement-plus 2、项目主组件修改(App.vue)<scriptlang="ts"setup>import{ElConfigProvider}from'element-plus'import{ElDialog}from"element-plus"//将ElementPlus的语言设置为中文importzhCnfrom&......
  • Vue3选择框选择不同的值输入框刷新变化
    场景:新增的时候根据选择框的不同来改变输入信息例如:实现方式:这个输入框我做的是业务字典实际的值是0和1,在点击选择框的时候用v-if判断选择的值是1还是0,如果是0则是一个输入信息,如果是1则又是另一个输入信息。实现代码片: <el-row:span="24"v-if="formData.courseTyp......
  • SpringCloud+Vue3主子表插入数据(芋道)
    目的:多表联查获取到每个班级里面所有的学生上课的信息。点击消课插入到消课主表和消课子表,主表记录班级信息,消课人员信息,上课时间。子表记录上课学员的信息,学员姓名、手机号、班级名称、班级类型、上课时间、老师名称前端:<template><Dialog:title="dialogTitle"v-mode......
  • vue3 自定义渲染,渲染函数实现,配置渲染render函数,低代码配置自定义渲染函数核心实现
    代码父组件<template><divclass="component-name"><!--全局自动的icon--><Extend:render="render"/></div></template><scriptsetuplang="ts">import{ref,reac......
  • 饮冰十年-人工智能-Vue3-67-组件间数据交互
    上一篇:饮冰三年-人工智能-Vue-66Vue组件化很久以前我对Vue2的组件间数据交互做过学习,兜兜转转再用Vue已经是Vue3版本。Vue3组件间数据交互1、准备工作环境准备使用Vite创建一个新的Vue3项目功能介绍该功能由APPVue+4个组件组成  ......