91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ant?design?charts怎么獲取后端接口數據展示

發布時間:2022-05-25 13:48:06 來源:億速云 閱讀:305 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“ant design charts怎么獲取后端接口數據展示”,內容詳細,步驟清晰,細節處理妥當,希望這篇“ant design charts怎么獲取后端接口數據展示”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

今天在做項目的時候遇到幾個讓我很頭疼的問題,一個是通過后端接口成功訪問并又返回數據,但拿不到數據值。其二是直接修改state中的data,console中數組發生變化但任然數據未顯示。

import React, { useState, useEffect } from 'react';
import { Line } from '@ant-design/plots';
import { PageContainer } from '@ant-design/pro-layout';
import ProForm, { ProFormDateRangePicker } from '@ant-design/pro-form';
import queryString from 'qs';
const DemoLine = () => {
const [data, setData] = useState([]);
useEffect(() => {
asyncFetch();
}, []);
var obj=[]
var pre=[]
const asyncFetch = () => {
fetch('/api/v1.0/inquireRepairsAnalysisNumberListTenant.json',{
method: 'POST',
body:new URLSearchParams(queryString.stringify({
sessionUuid: window.localStorage.getItem('sid') ,
startDate: '2021-12-01',
endDate: '2022-05-30',
}, { indices: false }))
})
.then(response=>response.json())//將respose轉成json格式數據以便可以訪問讀取
.then(response=>{
obj=response.datas[0];//獲取json數據中的data部分,并對其開始進行處理
console.log(obj)
for(var i = 0; i < obj.typeNameList.length;i++){
for(var j=0;j<obj.monthList.length-1;j++){
pre.push({ monthList:obj.monthList[j],
monthNumberList:obj.monthNumberList[j].numberList[i],
typeNameList:obj.typeNameList[i],
})
}
}
setData(pre)
}
)
.catch((error) => {
console.log('fetch data failed', error);
});
};
console.log(data,data.length)
const config = {
data,
xField: 'monthList',
yField: 'monthNumberList',
seriesField: 'typeNameList',
yAxis: {
},
legend: {
position: 'top',
},
smooth: true,
// @TODO 后續會換一種動畫方式
animation: {
appear: {
animation: 'path-in',
duration: 5000,
},
},
};
return (
<PageContainer>
<ProForm
initialValues={{
dateRange: [Date.now(), Date.now() - 1000 * 60 * 60 * 24],
}}
>
<ProForm.Group title="日期區間選擇">
<ProFormDateRangePicker name="dateRange" />
</ProForm.Group>
</ProForm>
<Line {...config} />
</PageContainer>
)
};
export default DemoLine;

通過接口獲取到數據后,一直為response形式,處理很久,最后通過 .then(response=>response.json())//將respose轉成json格式,但我們任然取不到PromiseResult中的內容,需要再次通過then方法

ant?design?charts怎么獲取后端接口數據展示

此時數據為json格式,為了取到json中的datas還需再 obj=response.datas[0];//獲取json數據中的data部分,并對其開始進行處理

.then(response=>{
obj=response.datas[0];//獲取json數據中的data部分,并對其開始進行處理
console.log(obj,'obj')

我們將取到的數據存在obj數組中

ant?design?charts怎么獲取后端接口數據展示

之后再對數據進行操作,由于我這邊的用的多折線圖,ant design charts中 他所需要的數據格式是數組內以對象的形式放單個數據,如圖

ant?design?charts怎么獲取后端接口數據展示

所以我們需要對取到的obj數據數據進行處理,轉換為對應的數據形式。pre為暫存數據數組。

for(var i = 0; i < obj.typeNameList.length;i++){
for(var j=0;j<obj.monthList.length-1;j++){
pre.push({ monthList:obj.monthList[j],
monthNumberList:obj.monthNumberList[j].numberList[i],
typeNameList:obj.typeNameList[i],
})
}
}

將我們的數據轉換后通過usestate修改到data中

setData(pre)

ant?design?charts怎么獲取后端接口數據展示

通過設置折線圖的對應屬性

const config = {
data,//簡寫data:data
xField: 'monthList',
yField: 'monthNumberList',
seriesField: 'typeNameList',
yAxis: {

},
legend: {
position: 'top',
},
smooth: true,
// @TODO 后續會換一種動畫方式
animation: {
appear: {
animation: 'path-in',
duration: 5000,
},
},
};

最終效果

ant?design?charts怎么獲取后端接口數據展示

讀到這里,這篇“ant design charts怎么獲取后端接口數據展示”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昂仁县| 商丘市| 抚远县| 容城县| 光山县| 徐汇区| 和平县| 镇赉县| 北宁市| 武鸣县| 洛浦县| 邵东县| 苗栗市| 松溪县| 宜良县| 绍兴市| 黄冈市| 靖边县| 铜陵市| 龙山县| 泸定县| 景谷| 土默特左旗| 舒兰市| 石台县| 商城县| 得荣县| 英山县| 马鞍山市| 舟山市| 湖州市| 五台县| 怀柔区| 凤台县| 周宁县| 东乌珠穆沁旗| 旌德县| 河北省| 广汉市| 敖汉旗| 中卫市|