线上运行开启 canvas2d 可以解决图表显示问题
<qiun-data-charts canvas2d .../>
canvasId 可以不传,官方内置生成随机字符串id的方法
注:
开启 2d 后,不能真机调试,只能开发者工具调试或扫二维码"预览"。
开启 2d 后,模拟器出现显示穿透的问题无需理会。
调试时若需要看到具体效果可先关闭 2d。
将 ontouch 设为true
<qiun-data-charts ontouch .../>
然后在opts 中设置
opts: {
enableScroll: true
}
(1) opts 和 chartsData 的 变化可以动态渲染
要将 opts 中的 update 为 true
原因是官方源码中设定了update属性
防止数据每次更新的时候,让整个图表重新渲染
(2) type 类型(图标类型)的变化有两个方法
一是修改源码:监听 type 类型,执行重新渲染画布
在qiun-data-charts.vue 的 watch 中
type(newVal, oldVal) {
if (newVal != oldval) {
this.checkData(this.drawData);
}
}
二是用 v-if 来重现渲染画布
<view v-if="isUpdate">
<qiun-data-charts :chartData="chartData" :type="selectedType" .... />
</view>
watch:{
selectedType(newVal, oldVal) {
if (newVal != oldVal) {
this.isUpdate = true
this.chartData = {
...this.chartData,
_changeTime: +new Date(),
}
}else{
this.isUpdate = false
}
}
}
单纯修改图例位置
opts: {
padding: [20,0,0,0],//画布填充边距
legend: {
margin: 10, // 图例外侧填充边距,默认为5
}
}
自定义图例的话需要先关闭原先图例,然后自己画相关样式
legend: {
show: false,
},
工作中难免会遇到各种各样的数据结构,较为全面的了解数组操作,对于复杂数据结构的处理会非常有用且节省时间。所以想在这里总结一下工作中常用的数组操作,都是一些非常基础的知识,大家看个乐就好~
记录一次开发中遇到的关于 ThreadLocal 问题,场景是数据库表中的操作人总是无缘无故的被更改,排查了几遍代码才发现是 ThreadLocal 没有及时清理导致的。