AvueAvue
首页
  • 开发指南
  • Skill开发
  • 在线测试工具
  • Form组件
  • Crud组件
  • Default组件
  • Data组件
  • Component组件
产品
工作台
授权
联系
2.x文档
个人支付接口
首页
  • 开发指南
  • Skill开发
  • 在线测试工具
  • Form组件
  • Crud组件
  • Default组件
  • Data组件
  • Component组件
产品
工作台
授权
联系
2.x文档
个人支付接口
  • DataPay 套餐购买卡片
  • DataTabs 概览统计卡片
  • DataBox 图标指标卡片
  • DataCard 图片文字卡片
  • DataCardText 文本卡片
  • DataDisplay 分隔式数据概览
  • DataIcons 图标数据入口
  • DataOperaText 图文信息卡片
  • DataProgress 进度指标卡片
  • DataRotate 翻转风格指标卡片
  • DataImgText 图文与成员卡片
  • DataPanel 指标面板
  • DataPrice 价格套餐展示
  • DataStatistic 统计数值卡片
  • DataWeather 天气卡片
  • DataRank 排行榜
  • DataProfile 人员信息卡片
  • DataProduct 商品卡片
  • DataCountdown 倒计时展示
  • DataNotice 公告通知
  • DataTask 任务清单
  • DataList 数据列表
  • DataDashboard 指标仪表盘

DataRank 排行榜

使用 avue-data-rank 展示排行榜,通过 option 提供配置和数据。

使用示例

效果预览可直接操作下方示例

先按业务排名排好 data,前三条自动显示奖牌。

正在加载示例…
<template>
  <div>
    <h3>销售排行榜</h3>
    <avue-data-rank :option="option1"></avue-data-rank>
    <h3 style="margin-top: 20px;">积分排行榜</h3>
    <avue-data-rank :option="option2"></avue-data-rank>
  </div>
</template>
<script setup>
import { ref } from 'vue';
const option1 = ref({
  title: '本月销售TOP5',
  unit: '万元',
  data: [
    { name: '张三', value: 980, avatar: 'https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png', desc: '销售一部' },
    { name: '李四', value: 870, avatar: 'https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png', desc: '销售二部' },
    { name: '王五', value: 760, avatar: 'https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png', desc: '销售一部' },
    { name: '赵六', value: 650, avatar: 'https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png', desc: '销售三部' },
    { name: '孙七', value: 540, avatar: 'https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png', desc: '销售二部' }
  ]
});
const option2 = ref({
  title: '用户积分榜',
  unit: '分',
  barColor: '#67c23a',
  data: [
    { name: '用户A', value: 15800 },
    { name: '用户B', value: 12300 },
    { name: '用户C', value: 9800 },
    { name: '用户D', value: 7600 },
    { name: '用户E', value: 5400 }
  ]
});
</script>

Props

参数类型默认值说明
optionobject{}组件配置;不使用 option 外的独立 data 属性

option 配置

字段类型默认值说明
dataarray[]按排名顺序提供数据
titlestring—列表标题
animationbooleantrue是否启用数值动画
unitstring''默认单位,可被 item.unit 覆盖
showBarbooleantrue显示数值占比进度条
barColorstring#409eff默认进度条颜色

data 数据项

字段类型默认值说明
name / descstring—名称及描述
avatarstring—头像地址
valuenumber—排名数值
decimalsnumber0小数位数
unit / colorstring继承 option单项单位 / 进度条颜色
clickfunction—点击回调 click(item)

使用说明

组件不排序,直接按数组顺序编号,前三项显示奖牌。进度按 value / 最大 value 计算;存在负数或全部为 0 时,请设 showBar: false,避免无效百分比。

事件与回调

组件没有通过 $emit 定义业务事件。data[i].click(item) 是配置回调,接收原始数据项;它不是组件 @click 的数据事件。这些卡片不处理 href,跳转逻辑应写在 click 回调中。

插槽与方法

当前组件未定义内容插槽。

不需要通过 ref 调用内部渲染方法;更新 option 或 option.data 即可刷新内容。

最后更新:
贡献者: smallwei
Prev
DataWeather 天气卡片
Next
DataProfile 人员信息卡片