最近在用echarts,好久不用了,之前用的也比较浅,发现这个产品真是强大,强大到很多地方摸不着头脑了。
产品方案呢,是希望做一个类似按钮的展示形状,椭圆的,带有圆角边框的,中间带文字居中的,就是这样子
首当其中我就想到了symbol属性,symbol的属性这部值都有'circle'
, 'rect'
, 'roundRect'
, 'triangle'
, 'diamond'
, 'pin'
, 'arrow'
, 'none'
这不正符合我的预期嘛,就是roundRect
于是就开始了我的试探之旅。
<script>
{name: '我不想要这个样子的', value: [450, 700],
symbol:'roundRect',
symbolSize: [150, 40],
normal: {
color: '#FFFFFF'
}
</script>
不就是这个样子的吗,刚开始我还觉得马上要完成任务了,不就是差个borderRadus嘛,加上。然后就开始了我长达3个小时的郁闷之旅。我四处查文档,不断尝试。终于,我把代码删了。我不准备用echarts了,我自己写一个不更好吗,我分分钟就能写出来
<div class="div1">!!!我就要想要一个小东西而已啊!!!</div>
<style>
.div1 {
width: 100px;
height: 40px;
text-align: center;
line-height: 40px;
color: #FFF;
font-size: 16px;
background: blue;
border-radus: 20px;
}
</style>
辗转反侧,我把烫的发热的电脑关机了,我得让电脑休息一会儿。
喝杯水,上个厕所。。。。。。
开机,启动vscode,打开项目,npm run dev
会不会是新安装的echarts5版本太新了,他们把borderRadus弄坏了呢,于是我删了大的node_modules依赖包,把echarts换个4版本的,然后npm install 。。。。。。,电脑又开始转了,呼呼的。。。。。。
终于,在我一通努力后,还是不行。
这可是最重要的解决方案,这都不行了???
不行,还得努力,又上网看看,看看CSDN,大伙用echarts都是展示很炫酷的图标啊,谁弄这么个小东西呢,生气中
突然我在想,既然echarts主要是为了展示图标,那么symbol那些形状主要是为了给图标用的,会不会像很多们开发语言,都有label这么个东西呢,因为我真的很简单,就是画个椭圆,放个文字啊。
功夫不负有心人,终于被我找到了,不要设置symbol,不要设置symbol直接用label就可以搞定
name: '这才是我需要的东西√√√',
label: {
show: true,
color: 'rgba(0, 0, 0, 0.9)', // 节点文字颜色
borderRadius: [10, 10, 10, 10], // 梦寐以求的圆角
borderWidth: 1,
borderColor: '#0052D9',
backgroundColor: '#ECF2FE', // 可爱的背景颜色
padding: [0, 20, 0 , 20] // 像div一样给他加个padding
},
其实开发人员,快乐有时候很简单,就是搞定个问题而已