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代码适用于以上效果 如有更改或者有其他的兼容性 有用到rem适配等
如需要适配可以看这篇 响应式 也可以私信我进行讨论
亿点小知识:大家可以根据自己的需求灵活的更改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:列对齐方式
以上就是DataV图表-排名轮播表自定义感谢大家的阅读
如碰到其他的问题 可以私下我 一起探讨学习
如果对你有所帮助还请 点赞
收藏谢谢~!
关注收藏博客 作者会持续更新…