精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Uni-App微信小程序平臺兼容常用圖表庫

開發 前端
對于uni-app用戶來說,如若使用圖表能力,只能去dcloud社區插件 (https://ext.dcloud.net.cn/) 中搜尋,亦或是自己動手。下面來看一下,如何自己封裝組件使用這些h5圖表庫。

?前言?

從使用場景上來說,這篇更應該看作是如何在微信小程序中使用常用h5圖表庫 (antv/f2、echarts等) 。但是得益于uni-app的跨平臺能力,能讓我們使用更加熟悉的vue框架來實現微信小程序的開發。對于uni-app用戶來說,如若使用圖表能力,只能去dcloud社區插件 (https://ext.dcloud.net.cn/) 中搜尋,亦或是自己動手。下面來看一下,如何自己封裝組件使用這些h5圖表庫。

?antv/f2?

由于新的4.x版本使用的是jsx語法,不是很習慣。這里演示的是3.x (https://f2-v3.antv.vision/zh/docs/tutorial/getting-started) 版本。在官方文檔中我們很容易發現:F2 是基于 CanvasRenderingContext2D (https://developer.mozilla.org/zh-CN/docs/Web/API/CanvasRenderingContext2D) 的標準接口繪制的,所以只要能提供標準 CanvasRenderingContext2D 接口的實現對象,F2就能進行圖表繪制。

因為在小程序中給的 context? 對象不是標準的 CanvasRenderingContext2D , 所以封裝的核心思路是將 context? 和 CanvasRenderingContext2D 對齊,所以 F2 針對支付寶和微信這2個常見的場景做了一層 context 的對齊,詳情可見:https://github.com/antvis/f2-context,其他小程序也可以按同樣的思路封裝。

當然微信小程序,f2已經兼容過,在使用的時候可以省略這一步。

首先在src (基于vue-cli) 目錄下components文件夾下新建組件f2-uni,在f2-uni.vue文件的template中添加。

<template>
<canvas
type="2d"
class="f2-canvas"
@touchstart="touchStart"
@touchmove="touchMove"
@touchend="touchEnd"
>
</canvas>
</template>

給容器設定個寬高。

<style lang="less">
.f2-canvas {
width: 100%;
height: 600rpx;
}
</style>

組件接收一個參數onInit,用來接收F2構造方法和config。

props: {
onInit: {
type: Function,
default: () => {}
}
},

注冊組件初始化的時候調用方法,從這里也能看出,小程序與h5在dom操作時選擇器方法的差別。

const query = uni.createSelectorQuery().in(this)
query.select('.f2-canvas')
.fields({
node: true,
size: true
})
.exec(res => {
const { node, width, height } = res[0]
const context = node.getContext('2d') // 微信基礎庫2.7.0 以上支持
const pixelRatio = uni.getSystemInfoSync().pixelRatio
// 高清設置
node.width = width * pixelRatio
node.height = height * pixelRatio

const config = { context, width, height, pixelRatio }
const chart = this.onInit(F2, config)
if (chart) {
this.canvasEl = chart.get('el')
}
})

注:canvas.getContext 基礎庫2.7.0開始支持,如果對兼容性有要求可參考官方兼容處理 (https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 。

touch事件處理 (其他兩個同理) 。

function wrapEvent (e) {
if (!e) return
if (!e.preventDefault) {
e.preventDefault = function () {}
}
return e
}
touchStart (e) {
const canvasEl = this.canvasEl
if (!canvasEl) {
return
}
canvasEl.dispatchEvent('touchstart', wrapEvent(e))
}

至此組件主體封裝已完成,在頁面中使用。

<f2-uni class="f2-chart" :onInit="onInitChart"></f2-uni>
methods: {
onInitChart: (F2Constructor, config) => {
const chart = new F2Constructor.Chart(config)
const data = [
{ value: 63.4, city: 'New York', date: '2011-10-01' },
{ value: 62.7, city: 'Alaska', date: '2011-10-01' },
{ value: 72.2, city: 'Austin', date: '2011-10-01' },
{ value: 58, city: 'New York', date: '2011-10-02' },
{ value: 59.9, city: 'Alaska', date: '2011-10-02' },
{ value: 67.7, city: 'Austin', date: '2011-10-02' },
{ value: 53.3, city: 'New York', date: '2011-10-03' },
{ value: 59.1, city: 'Alaska', date: '2011-10-03' },
{ value: 69.4, city: 'Austin', date: '2011-10-03' }
]
chart.source(data, {
date: {
range: [0, 1],
type: 'timeCat',
mask: 'MM-DD'
},
value: {
max: 300,
tickCount: 4
}
})
chart.area().position('date*value').color('city').adjust('stack')
chart.line().position('date*value').color('city').adjust('stack')
chart.render()
// 注意:需要把chart return 出來
return chart
}
}
}

成功渲染出示例圖表。

圖片

本文旨在提供思路,具體封裝可以更加靈活易用。

完整代碼 (https://code.juejin.cn/pen/7113852538541047821) 。

?echarts?

與上面同理,主要針對小程序的dom選擇器和canvas context做一些兼容處理。具體封裝可參考dcloud社區中一款不錯的插件 echarts for uniapp(https://ext.dcloud.net.cn/plugin?id=8017)下載插件zip包,可查看源碼。

如果只在微信小程序平臺編譯使用,且條件編譯不生效,我提煉了純凈版:代碼片段 (https://code.juejin.cn/pen/7113871812777230372)。

責任編輯:姜華 來源: 微醫大前端技術
相關推薦

2025-01-23 16:08:56

2022-07-29 11:03:47

VueUni-app

2021-09-28 09:30:18

uni-appVue 3.0uniCloud

2018-01-25 22:26:10

微信小程序app

2023-01-05 09:01:05

UI組件庫微信

2017-05-08 15:03:07

微信小程序開發實戰

2021-05-15 09:10:58

微信小程序開發者

2016-10-20 21:02:12

微信小程序javascript

2017-01-09 10:01:49

微信小程序

2017-06-09 10:40:00

微信小程序架構分析

2016-09-28 18:10:59

微信程序MINA

2017-06-09 12:58:20

微信小程序架構分析

2017-06-09 10:06:54

微信小程序架構分析

2016-11-04 10:31:49

微信程序指南

2016-11-22 11:23:52

微信小程序騰訊微信

2016-09-27 15:40:58

微信程序前端

2016-11-04 10:49:48

微信小程序

2021-06-10 10:51:27

程序基礎架構

2016-09-27 16:38:24

JavaScript微信Web
點贊
收藏

51CTO技術棧公眾號

91极品女神在线| 欧美日韩成人综合| 精品国产乱码久久久久久丨区2区 精品国产乱码久久久久久蜜柚 | 欧美日韩另类字幕中文| 蜜桃麻豆91| 中文字幕+乱码+中文乱码91| 日本一二区不卡| 91麻豆精品国产91| youjizz.com在线观看| 秋霞av鲁丝片一区二区| 国产亚洲一级| 日韩在线视频一区| 稀缺呦国内精品呦| 偷拍精品精品一区二区三区| 中文字幕久久午夜不卡| 91成人免费观看| 99久热在线精品996热是什么| 欧美女优在线视频| 日韩三区在线观看| 国产精品免费成人| 动漫一区在线| 91亚洲国产成人精品一区二区三 | 欧美日本韩国一区二区三区| 中文字幕日产av| 欧美精品福利| 一区二区成人精品| 黄色激情在线观看| 国精品产品一区| 亚洲成av人片一区二区三区| 天堂va久久久噜噜噜久久va| 99热这里只有精品在线| 国产亚洲精品久久久久婷婷瑜伽| 久久精品国产亚洲7777| 好吊一区二区三区视频| 国产精品一区二区三区四区在线观看| 亚洲r级在线视频| 亚洲精品永久www嫩草| 亚洲美女福利视频| 久久精品国产久精国产爱| 韩国一区二区电影| 国产精品嫩草影院俄罗斯| 日韩av中文字幕一区| 制服.丝袜.亚洲.中文.综合| 欧美日韩在线一| 1024在线播放| 国产精品色婷婷久久58| 久久99精品久久久久久三级| 国产又大又黑又粗| 久久尤物视频| 久久免费视频网站| 欧美老熟妇一区二区三区| 精品国产中文字幕第一页| 日韩经典中文字幕在线观看| 免费黄视频在线观看| 欧美亚洲福利| 欧美视频中文一区二区三区在线观看| www..com日韩| 男女羞羞视频在线观看| 亚洲视频每日更新| 亚洲最大免费| 在线视频1区2区| 国产欧美精品一区二区色综合朱莉| 国产精品一区二区欧美| 亚洲精品一级片| 国产一区激情在线| 成人h视频在线| 伊人影院中文字幕| 麻豆久久久久久久| 国产综合在线观看视频| 国产一区二区小视频| 日本网站在线观看一区二区三区| 热re91久久精品国99热蜜臀| 天堂网一区二区三区| 亚洲青涩在线| 欧美亚洲伦理www| 国产成人在线视频观看| 香蕉久久国产| 国产91露脸中文字幕在线| 免费av中文字幕| 蘑菇福利视频一区播放| 欧美亚洲国产成人精品| 久久精品波多野结衣| 国内精品99| 久久久久久中文| 自拍偷拍欧美亚洲| 99香蕉国产精品偷在线观看| 国内精品视频在线| 特级西西444www大精品视频免费看| 99亚洲一区二区| 青草青草久热精品视频在线网站| 无码人妻黑人中文字幕| 美女视频网站久久| 成人免费黄色网| 亚洲精品久久久久avwww潮水| 国产不卡视频在线播放| 黄色99视频| 国产三级电影在线| 亚洲欧美中日韩| 69sex久久精品国产麻豆| 日韩精品av| 欧美日韩亚洲不卡| 欧美日韩一区二区区别是什么| 亚洲小说春色综合另类电影| 亚洲激情久久久| 日韩影视一区二区三区| 欧美在线免费一级片| 97婷婷涩涩精品一区| 日韩一区二区视频在线| 蜜臀av国产精品久久久久| 97自拍视频| 日韩精品一二| 综合婷婷亚洲小说| 成人免费毛片在线观看| 韩国成人在线| 欧美本精品男人aⅴ天堂| 丰满圆润老女人hd| 亚洲精品一区二区妖精| 97在线精品视频| 一区二区精品视频在线观看| 成人精品免费看| 日本午夜精品电影| h视频在线免费| 岛国精品视频在线播放| 午夜福利123| 国产精品一线天粉嫩av| 欧美另类精品xxxx孕妇| 无码人妻黑人中文字幕| 国产69精品久久99不卡| 视频一区视频二区视频三区高| 精品精品导航| 欧美性大战久久| 私密视频在线观看| 欧美激情成人| 国产97色在线| 天天干天天操av| 亚洲色图.com| 黄色三级视频在线| gogo久久日韩裸体艺术| 中文字幕精品国产| 国产剧情在线视频| 成人午夜精品在线| 免费观看黄色大片| 成人影院av| 亚洲第一色中文字幕| 成人高潮免费视频| 另类综合日韩欧美亚洲| 欧美13一14另类| 国产777精品精品热热热一区二区| 欧美精品久久天天躁| 中文字幕在线看高清电影| 欧美喷水视频| 91亚洲va在线va天堂va国| 成人免费视频| 日韩欧美在线免费观看| 波多野结衣影院| 黑丝一区二区三区| 成人精品一区二区三区电影免费 | 日本中文字幕网| 国产成人在线观看| 黄色影视在线观看| 国产美女亚洲精品7777| 日韩中文视频免费在线观看| 国产精品xxxxxx| 久久久精品tv| 免费在线观看毛片网站| 免费观看不卡av| 日韩免费av一区二区| 亚洲欧美日韩成人在线| 精品国产31久久久久久| 久久久久成人精品无码中文字幕| 伊人久久成人| 久久久久久久久久久久久久一区| 欧美aa在线观看| 亚洲国内精品视频| 国产网友自拍视频| 99热这里都是精品| 日韩av三级在线| 亚洲精品一级二级三级| 日本在线精品视频| 色资源在线观看| 午夜电影网一区| 久久久久久久久免费看无码| 欧美一级一区| 美女被啪啪一区二区| 午夜伦理福利在线| 国产亚洲视频在线观看| 波多野结衣视频在线观看| 中文字幕免费观看一区| 免费人成视频在线播放| 伊人久久婷婷| 欧美重口乱码一区二区| 欧美男男gaygay1069| 不卡av在线网站| 五月婷婷在线播放| 欧美探花视频资源| 久久免费视频播放| 久久久久国产一区二区三区四区| 在线免费观看av的网站| 一区二区三区网站| 精品在线视频一区二区| 午夜欧美巨大性欧美巨大| xxxxxxxxx欧美| 日本xxxxxwwwww| 欧美在线你懂得| 国产波霸爆乳一区二区| 99精品欧美一区二区蜜桃免费| 国产精品入口免费软件| 自拍偷拍欧美| 欧美精品123| 国产精品igao视频网网址不卡日韩| 久久久久久亚洲精品不卡| 男人的天堂在线免费视频| 欧美色精品在线视频| 久久久夜色精品| 国产日韩欧美精品一区| 中文字幕一二三| 久久99伊人| 中文字幕一区综合| 女同一区二区三区| 国产精品中文字幕在线| 91超碰在线| www.日韩不卡电影av| 天堂中文网在线| 91精品国产欧美一区二区| 成人毛片在线播放| 樱桃国产成人精品视频| 在线看片中文字幕| 国产成人午夜精品影院观看视频 | 女人被狂躁c到高潮| 极品少妇一区二区| 爱福利视频一区二区| 欧美一区免费| 在线看无码的免费网站| 神马香蕉久久| 成人高清在线观看| 在线免费成人| 国产精品嫩草影院一区二区| 国产拍在线视频| 色与欲影视天天看综合网| 成人h小游戏| 日韩精品在线免费观看视频| 精品人妻一区二区三区含羞草 | 日本午夜激情视频| 中文字幕亚洲精品乱码| 日韩和欧美的一区二区| 综合伊人久久| 亚洲综合精品伊人久久| **国产精品| 国产精品高潮呻吟久久av黑人| av中文在线资源库| 欧美激情免费在线| 污片在线免费观看| 超碰日本道色综合久久综合| 日韩专区在线| 中文字幕日韩精品在线观看| 毛片在线播放网站| 亚洲精品丝袜日韩| 深夜福利视频在线观看| 亚洲国产欧美日韩精品| 亚洲AV午夜精品| 日韩精品中文字幕一区二区三区| 91久久精品无码一区二区| 欧美亚洲综合久久| 中文字幕视频免费观看| 在线精品视频一区二区| 看黄色一级大片| 色婷婷久久久亚洲一区二区三区| 久久精品亚洲无码| 亚洲国产精品人人做人人爽| 国产乱国产乱老熟300| 国产精品久久久久久久岛一牛影视| 免费中文字幕av| 2020国产精品自拍| 日本一级免费视频| 国产精品系列在线| 一本色道久久88| 亚洲欧洲性图库| 日韩视频中文字幕在线观看| 伊人一区二区三区| 国产一级做a爱免费视频| 亚洲h在线观看| 国产成人无码一区二区在线播放| 在线免费观看视频一区| 一本色道久久综合亚洲| 欧美一区二区播放| 亚洲国产精彩视频| 亚洲男人天堂网站| 欧美一区二区三区在线观看免费| 久久影院中文字幕| 91九色在线看| 国产99久久精品一区二区永久免费 | 国产不卡在线一区| 深爱五月激情网| 国产精品国产a| 国产一级在线观看视频| 色婷婷久久99综合精品jk白丝| 在线观看不卡的av| 欧美电视剧在线看免费| 婷婷综合激情网| 日韩在线小视频| 欧美1—12sexvideos| 欧美一二三视频| 狂野欧美性猛交xxxx| jizz18女人| 欧美日韩一视频区二区| 日本日本19xxxⅹhd乱影响| 热久久国产精品| 性高潮久久久久久| 99精品视频在线观看免费| 我不卡一区二区| 一区二区欧美在线观看| www.国产毛片| 欧美一级片在线| 男人的天堂在线| 欧美国产在线视频| 国产私拍福利精品视频二区| 亚洲永久在线观看| 红桃成人av在线播放| 国产精品videossex国产高清| 噜噜噜久久亚洲精品国产品小说| av噜噜在线观看| 久久综合久久鬼色| wwwav国产| 欧美性三三影院| 日韩一级免费视频| yw.139尤物在线精品视频| 午夜激情电影在线播放| 91福利入口| 日韩大片在线观看| 97国产精东麻豆人妻电影 | 特级西西444www大精品视频免费看| 欧美日韩黄色影视| 四虎在线视频| 欧美精品激情视频| 国产精久久一区二区| 日韩av不卡播放| 一区二区三区成人精品| 国产999免费视频| 2023国产精品| 国产无遮挡又黄又爽| 91精品在线麻豆| 成人免费高清在线播放| 18久久久久久| 久久夜色电影| 成年人视频网站免费| 久久国产人妖系列| 国产熟女一区二区| 欧美日韩裸体免费视频| 丰满人妻一区二区三区免费| 色婷婷综合久久久久| 欧美国产日韩电影| 日韩欧美亚洲日产国| 午夜在线精品偷拍| 手机在线看片日韩| 亚洲mv在线观看| 乱色精品无码一区二区国产盗| 一本久久综合亚洲鲁鲁| 玛雅亚洲电影| 欧美黑人3p| 久久久久久穴| 欧美特级黄色录像| 在线免费视频一区二区| 黄色片免费在线| 国产精品久久精品| 久久裸体网站| 91蝌蚪视频在线| 亚洲猫色日本管| www夜片内射视频日韩精品成人| 久久综合久久八八| 欧美经典一区| 激情六月天婷婷| 成人免费看黄yyy456| 中文字幕在线观看免费视频| 亚洲精品aⅴ中文字幕乱码 | 久久久久五月天| 美国一区二区| 久草精品在线播放| 国产色爱av资源综合区| 亚洲熟妇av乱码在线观看| 色吧影院999| 粉嫩一区二区三区在线观看| 日本免费黄色小视频| 精品在线观看视频| 欧美黄色免费观看| 亚洲第一区在线| 国产一线二线在线观看| 国产亚洲情侣一区二区无| 热久久久久久久| 日本三级网站在线观看| 国产亚洲精品久久久久久| 嫩呦国产一区二区三区av| 久久亚洲中文字幕无码| 中文字幕一区二区三区四区| 欧美 日韩 国产 在线| 国产精品日韩专区| 亚洲精品极品| 日韩一卡二卡在线观看| 亚洲精品视频网上网址在线观看| 白嫩亚洲一区二区三区| 99精品人妻少妇一区二区|