关于在Element UI的el-dialog组件中使用echarts的问题

问题描述

"Cannot read property 'getAttribute' of null"

"ECharts Can't get dom width or height!"

"Initialize failed: invalid dom"

原因

当我们打开el-dialog时,dom元素是还没有渲染完成的

解决

// 使用setTimeout定时间器
open(){
this.dialogVisible = true;
setTimeout(() => {
this.setMyCharts();
},300)
}
// 【推荐】使用Vue.nextTick()
open(){
this.dialogVisible = true;
this.$nextTick(() => {
this.setMyCharts();
})
}

关于Vue.netTick():

在下次 DOM 更新循环结束之后执行延迟回调,在修改数据之后立即使用这个方法,获取更新后的 DOM。简单来说当数据更新了,在dom中渲染后,自动执行该函数

关于ECharts有时在el-dialog中宽度无法正常显示的问题

问题描述

有的时候将 ECharts 放到 el-tab或者 el-dialog之中,会发现图表的宽度会显示的不那么正确

原因

ECharts 本身并不是自适应的,当父级容器的宽度发生变化的时候需要手动调用它的 .resize() 方法。

解决

在dialog出现之后再init图表即可

关于在Vue切换路由时如何传递参数

问题描述

从A页面跳转到B页面,将A页面的参数传递给B页面

业务场景:查看某条数据的详情跳转至详情页面,在详情页面中显示

解决

一、编程式的导航

1、借助this.$router.push()

对于该方法来说,传参有两种方式。一种是通过params,一种是query。

// 前者的使用必须对该路由进行命名才能使用
this.$router.push({name: '路由名称'}, params:{ key:Value })
// 后者通过路由地址即可
this.$router.push({path: '路由地址'}, params:{ key:Value })

二、声明式的导航,使用router-link

<router-link :to="{ name: '路由名称', params:{ key:Value }">点击跳转</router-link>
<router-link :to="{ name: '路由地址', params:{ key:Value }">点击跳转</router-link>

注意

1、使用query和params的区别:query 参数拼接在url, 用户可修改, params 类似post 用户不可见,因此推荐params的方式

2、接收时参数都是在route中,而不是在router

// 路由事件
let params = {
id: this.id,
userName: this.userName
}
this.$router.push({
name: 'B',
params
})
// B页面接收
created() {
const { id, userName } = this.$route.params
}

【ZeyFraのJavaEE开发小知识03】@DateTimeFomat和@JsonFormat的更多相关文章

  1. 【ZeyFraのJavaEE开发小知识01】@DateTimeFomat和@JsonFormat

    @DateTimeFormat 所在包:org.springframework.format.annotation.DateTimeFormat springframework的注解,一般用来对Dat ...

  2. 【ZeyFraのJavaEE开发小知识05】Mybatis-Plus & Axios

    关于如何在Mybatis-Plus中添加SQL拦截器 之前ZeyFra在MyBatis-Plus[踩坑记录01]一文中提到过,使用Mybatis-Plus时最好使用MybatisSqlSessionF ...

  3. 【ZeyFraのJavaEE开发小知识02】MybatisPlus&ElementUI

    1.关于如何获得Mybatis-Plus在插入对应为自增长主键但并未对该主键赋值的实体类之后其主键值 对应数据库中某张表并未设置主键值,但其主键为自增长类型的实体类,在使用Mybatis-Plus做i ...

  4. React Native环境配置、初始化项目、打包安装到手机,以及开发小知识

    1.前言 环境:Win10 + Android 已经在Windows电脑上安装好 Node(v14+).Git.Yarn. JDK(v11) javac -version javac 11.0.15. ...

  5. bootstrap学习笔记(网页开发小知识)

    这是我在学习Boostrap网页开发时遇到的主要知识点: 1.导航条navbar 添加.navbar-fixed-top类可以让导航条固定在顶部,固定的导航条会遮住页面上的其他内容,除非给<bo ...

  6. Python接口开发小知识

    关于数据库设计 接口开发多学习数据库表操作,这是要点 不存在删除数据,每个可能被删除数据的表加一个is_active属性 不同的表可以有多个相同的字段,字段属性少用禁止非空 不要设置太多主外键(高内聚 ...

  7. JSP+Ajax站点开发小知识

    一.JSP基础 1.<select  name="love"  size="3">当中的size属性指定了列表框显示选项的条数.假设全部选项多于这个 ...

  8. Android开发小知识

    修改Android app图标(Android Studio) 1.  res\drawable 放置icon.png(此图片是你需要修改的图标); 2.  修改AndroidManifest.xml ...

  9. web开发小知识

    session共享机制:f5刷新是再次提交之前的数据请求 地址栏回车属于不同的请求 不同浏览器获取不到之前数据 同一浏览器可以获取同步数据 session注销:session.invalidate() ...

随机推荐

  1. hdu4533 威威猫系列故事——晒被子

    Problem Description 因为马拉松初赛中吃鸡腿的题目让不少人抱憾而归,威威猫一直觉得愧对大家,这几天他悄悄搬到直角坐标系里去住了. 生活还要继续,太阳也照常升起,今天,威威猫在第一象限 ...

  2. 后缀数组Da模板+注释 以及 dc3模板

    后缀数组Da模板: 1 /* 2 后缀数组倍增法Da板子 3 */ 4 #include <cstdlib> 5 #include <cstring> 6 #include & ...

  3. MySQL菜鸟实录(一):MySQL服务安装实战

    CentOS 7 基本信息 系统版本: CentOS 7.3 64bit 系统配置: 4vCPUs | 8GB 磁盘空间: [root@ecs-ce5a-0001 ~]# df -h Filesyst ...

  4. woj1018(HDU4384)KING KONG 循环群

    title: woj1018(HDU4384)KING KONG 循环群 date: 2020-03-19 09:43:00 categories: [acm] tags: [acm,woj,数学] ...

  5. HDU 4649 Professor Tian(概率DP)题解

    题意:一个表达式,n + 1个数,n个操作,每个操作Oi和数Ai+1对应,给出每个操作Oi和数Ai+1消失的概率,给出最后表达式值得期望.只有| , ^,&三个位操作 思路:显然位操作只对当前 ...

  6. how to import a SQL file in MySQL command line

    how to import a SQL file in MySQL command line execute .sql file, macOS $mysql> source \home\user ...

  7. js script all in one

    js script all in one 你不知道的 js secret https://html.spec.whatwg.org/multipage/scripting.html https://h ...

  8. javascript disable scroll event

    javascript disable scroll event Document: scroll event https://developer.mozilla.org/en-US/docs/Web/ ...

  9. HTTP/3 protocol

    HTTP/3 protocol https://caniuse.com/#feat=http3 HTTP/3 H3 https://en.wikipedia.org/wiki/HTTP/3 QUIC ...

  10. Flutter: debounce 避免高频率事件

    原文 函数 import 'dart:async'; Function debounce(Function fn, [int t = 30]) { Timer _debounce; return () ...