支付宝/钉钉小程序使用antv/f2图表 制作圆环进度条 动态参数
2021/5/31 12:24:01
本文主要是介绍支付宝/钉钉小程序使用antv/f2图表 制作圆环进度条 动态参数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
**
支付宝小程序使用antv/f2图表 制作圆环进度条 动态参数
**
相关文档:
https://github.com/antvis/my-f2
https://www.yuque.com/antv/f2
https://f2.antv.vision/zh/examples/pie/donut#progress-bar
1. 安装依赖
项目默认初始化出来的是没有package.json的,需要新增package.json后再安装
npm install @antv/my-f2 --save
2. 使用自定义组件
- 打开json文件,引入组件
{ "usingComponents": { "f2": "@antv/my-f2" } }
- acss 设置宽高
.f2-chart { width: 200rpx; height: 200rpx; }
- axml 使用组件
<view class="item" a:for="{{list}}"> <view class="f2-chart"> //注意此处名称要为f2-chart <f2 onInit="onInitChart" opts="{{ item.opts }}"></f2> //opts 用来传参 </view> </view>
- js部分
// const app = getApp(); _Page({ /** * 页面的初始数据 */ data: { scale: 1, list: [ { tit: 'WH-01', opts: { y: 80, text: '2/8' }, }, { tit: 'WH-02', opts: { y: 70, text: '3/7' }, }, ] }, /** * 生命周期函数--监听页面加载 */ onl oad: function (options) { my.getSystemInfo({ success: (res) => { this.data.scale = Math.ceil(14 / 750 * res.windowWidth); } }) }, onInitChart(F2, config,optsData) { // 动态传参重点: // <f2 onInit="onInitChart" opts="{{ item.opts }}"></f2> // optsData - opts //查看详细参数 console.log(optsData) let sizeSCale = this.data.scale; //按比例设置圆环宽度 const chart = new F2.Chart(config); const data = [{ x: '1', y: optsData.props.opts.y }]; // y为圆环的进度, x: '1' 不用动 chart.source(data, { y: { max: 100, min: 0 } }); chart.axis(false); chart.tooltip(false); chart.coord('polar', { transposed: true, innerRadius: 0.8, radius: 1 }); chart.guide().arc({ start: [0, 0], end: [1, 99.98], top: false, style: { lineWidth: sizeSCale, stroke: '#E2EDF3' //圆环浅色部分 } }); chart.guide().text({ position: ['50%', '50%'], //字体位置 content: optsData.props.opts.text, // 中间字体 style: { fontSize: '14', fill: '#4F6589' } }); chart.interval() .position('x*y') .size(sizeSCale) .animate({ appear: { duration: 1200, easing: 'cubicIn' } }); chart.render(); // 注意:需要把chart return 出来 return chart; }, });
这篇关于支付宝/钉钉小程序使用antv/f2图表 制作圆环进度条 动态参数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-03-30微信小程序的网络设置,及网络请求:wx.request(OBJECT)
- 2024-01-22基于taro搭建小程序多项目框架
- 2024-01-13小程序开发:在插件市场寻找步骤条组件并二开
- 2024-01-05钉钉小程序生态—企业机器人加互动卡片,改善用户体验的开始!
- 2023-12-29【UniApp】-uni-app-打包成小程序
- 2023-12-26性能翻倍!京东亿级体量小程序优化实践
- 2023-12-25小程序优化:第三方SDK过大解决方案
- 2023-11-26微信小程序文件预览和下载-文件系统
- 2023-11-2652天学习微信小程序计划No.2:注册小程序账号&安装开发者工具
- 2023-11-1952天学习微信小程序计划No.1:小程序简介