DataV图表-排名轮播表自定义
DataV图表-排名轮播表自定义数据大屏可视化
场景:需要计算根据分数不同柱子的颜色不同 低于60分变成为橙色柱子
一开始使用的是 dv-scroll-ranking-board 这个不可以自定义颜色和属性 我们可以更改 dv-scroll-board 样式来实现 排名轮播表
-
安装 data-view
npm install @jiaminghi/data-view
-
全局使用
// 将自动注册所有组件为全局组件 import dataV from @jiaminghi/data-view Vue.use(dataV)
-
使用dv-scroll-board组件
<dv-scroll-board :config="config" style="width:100%;height:80%" />
<script lang="ts" setup>
import {
ref, onMounted, } from "vue";
let config = ref<any>({
data: [
[行1列1, 行1列2],
[行2列1, 行2列2],
[行3列1, 行3列2],
]
})
</script>
这时候我们看的是默认样式
-
自定义dv-scroll-board
let config = ref<any>({
data: [
[
`<div class="row-item-a"> <div class="ranking-info">
<div class="rank"> No.1 </div> <div class="info-name">张三</div > <div class="ranking-value"> 90分 </div></div>
<div class="ranking-column"> <div class="inside-column" style="width: 90%;"> <div class="shine" > </div>
</div>
</div>
</div>`
],
[
`<div class="row-item-a"> <div class="ranking-info">
<div class="rank"> No.2 </div> <div class="info-name">李四</div > <div class="ranking-value"> 59分 </div></div>
<div class="ranking-column column-fail"> <div class="inside-column fail" style="width: 59%;"> <div class="shine shine-fail" > </div>
</div>
</div>
</div>`
]
],
})
-
css代码
亿点小知识:大家可以根据自己的需求灵活的更改css样式尽情的穿透样式
<style lang="scss" scoped>
::v-deep(.row-item) {
transition: all .3s;
display: flex;
flex-direction: column;
overflow: hidden;
background: none !important;
}
::v-deep(.row-item-a) {
transition: all .3s;
display: flex;
flex-direction: column;
overflow: hidden;
justify-content: space-between;
}
::v-deep(.ranking-info) {
display: flex;
width: 100%;
height: 80%;
font-size: 13px;
}
::v-deep(.info-name) {
flex: 1;
}
::v-deep(.ranking-value) {
font-size: 13px;
}
::v-deep(.rank) {
width: 40px;
color: #CDD0D6;
}
::v-deep(.dv-scroll-board .rows .ceil) {
padding: 0;
color: #CDD0D6;
}
::v-deep(.ranking-column) {
border-bottom: 2px solid rgba(19, 112, 251, .5);
margin-top: -0.8rem;
}
::v-deep(.column-fail) {
border-bottom: 2px solid rgba(239, 100, 23, .5);
}
::v-deep(.inside-column) {
width: 100%;
position: relative;
height: 6px;
background-color: #1370fb;
margin-bottom: 2px;
border-radius: 1px;
overflow: hidden;
}
::v-deep(.fail) {
background-color: #EF6417;
}
::v-deep(.shine) {
position: absolute;
left: 0;
top: 2px;
height: 2px;
width: 50px;
transform: translateX(-100%);
background: radial-gradient(#28f8ff 5%, transparent 80%);
animation: shine 3s ease-in-out infinite alternate;
}
::v-deep(.shine-fail) {
background: radial-gradient(#EF6417 5%, transparent 80%);
}
</style>
一些dv-scroll-board属性帮助你更好的开发
-
header :表头数据 rowNum: 表行数 headerBGC:表头背景色 oddRowBGC:奇数行背景色 evenRowBGC:偶数行背景色 waitTime:轮播时间间隔(ms) headerHeight:表头高度 columnWidth :列宽度 hoverPause:悬浮暂停轮播 indexHeader:行号表头 index:显示行号 align:列对齐方式
下一篇:
React 搭建DvaJS开发环境
