From 2ffcc5d59c51a3898f9f407a2903ef6a6cf996f3 Mon Sep 17 00:00:00 2001 From: tangying1027 <33517362+tangying1027@users.noreply.github.com> Date: Wed, 20 Mar 2024 14:24:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20guide=20=E8=B6=85=E5=87=BA=E8=8C=83?= =?UTF-8?q?=E5=9B=B4=E4=B8=8D=E6=98=BE=E7=A4=BA=20(#1941)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: xuying.xu --- packages/f2/src/components/guide/withGuide.tsx | 2 ++ ...\207\272\350\214\203\345\233\264-1-snap.png" | Bin 0 -> 8431 bytes .../f2/test/components/guide/guide.test.tsx | 16 ++++++++++++++++ 3 files changed, 18 insertions(+) create mode 100644 "packages/f2/test/components/guide/__image_snapshots__/guide-test-tsx-guide-guide-\350\266\205\345\207\272\350\214\203\345\233\264-1-snap.png" diff --git a/packages/f2/src/components/guide/withGuide.tsx b/packages/f2/src/components/guide/withGuide.tsx index de7e08e7c..685a685e0 100644 --- a/packages/f2/src/components/guide/withGuide.tsx +++ b/packages/f2/src/components/guide/withGuide.tsx @@ -81,6 +81,8 @@ export default function( const { width, height } = context; const points = this.convertPoints(records); const theme = this.getGuideTheme(); + const checkNaN = points.some((d)=> isNaN(d.x) || isNaN(d.y)) + if(checkNaN) return; return ( O*owUnKZXa2D#@wf7{bLQ`9y}(uzmY?#P{~m!}!nEa(+1)W^uchePr|F))V+*uGhl>GvgLERL(p zQOO>-1m|7{G36QrGuk)%ILXjkLc|P+tAZk6j{B@&xNEQ_$-n{&l|q%%i5WmzE*cOs zZ0dQXm~ug|2e+`$DLw7##NtJ_z1+0s)MGW8eH9*35SD{Y1$kh^e-RfElsVyW^TMW|u@Iq6@rza=v z(xV--FQ}UdAW2ZnXjiM#l_#&V5%Fv`=6o1XIbhj`c@RLyFFSfAjO! z@W_S!<%8?WENQ@A3Qit!7(*7uBZc?~Z6NLUSI_5r>$`qSogOVX^m5szCu&%GWoKTC zYhfwDagDbsZ74GOT9xwLV<3LD@jAY+GrfPv4w?hU7;{a_z*<7t7p_`kac_MHs>0q7 zTZi2=3=fR$c~``^j&eygpMS(2?W`1D?h;Nz?oX)d=Q%a6Iw8&YMU&AEoz6rmsF2@H zLUuf=-*F*)r(y z(TVrGMg<7gxOpW&kqIhjR|RUm7mb-C2gg!=L`3NJa}ko@OAg_*Hj7a`vX*`GQ?$_V zEH`A~>1PRCJeZei84_#gyS`~XMv3ppVeF7uCnaV22Av1?_W|KeZ~~L2=}t069cz_| ztjjL2n4Dgb+Vf_AsTQl{*Yxvy;t$}M9JNtLp&Y0|bIE~^3@cVIcIc*gx({Yh0os*6 z&tbbkUc9_HHr!QGe`l$s4*s13*s32QSYQvyt~&#FapCH026{B^ELcTmWS%S3OfZ0s z6n!~pzq=X`e-+WxQG^AXqysS|06l>q>Pm2E^vz&*yFm%8p7yEaa6v_*&`47I`Nx>I z!w>p7tugISKMq^$JyUJ*etqg=NPb(p=>A41fix9-X9DxpvS`U|2X)+7378P)x?K_m z(Xz{NAtaT@zv^nWdaL>YMD;DR?(R$;JEIzl= z!1=SA{SFtAzd^IjF_$?Ic>WK9@a7wIJga-K3Xuv?gDu>73ErK)xV{O4m$Ol%spP}B zov@`=rah(yDk)HUyYuY~2RG{oFEfz0=a~Ht^ZBvv!v%|5?WFKsabWJID|*R!8VMOi z)`qS(5%-;DLX9zBxspb@T0^UkHGi)B#yZw|NlHxMoJR$On2=wT&kuX!K9iV06q>b_ zNRf;0UDL>Vw{~Lq8{O{CaE``)lZ2_;W6Vee=B3~v=}jkl>&EEIJ}L>dM0yyK)#b13 zT`Q5rY8BGRS7=PfHaT^|h=w?FW|YUR3O62J`>`^W*IDMLGZ8I?3c%~%GRHr2t6!C3 z{8-$VQ15=lwbxo_gcYh`YKI`U(E88|vWo#7#zf0oM^2SzrQUA~R+0pMf%b%x=sziJ zJsec!9J|ju+Z{1b(jrFUh9RX3d@rbRhFQi*A?A$skoiSBf$ECGApgqGcUh8rdh0Qr zmR_GjJ97S6sK(U1Sbcf>E@AY5j$~0Qa;&~yt1&WN1(|n1cq{O%ZPe;qDKUh*lHrq) z3{1Wcdhm?69Bin+;%1F}YzSQ|=31a7 zSA?Z*?t+6MM0p8?bE(P5_00h|i@y8m{L4tIuw!nIn?P8!@B8c)b8Z|)-WEPl!mei` zKiw_Krq*-SpEC|`ksb}W_RTg!0q*K3Gp5@hN{NZ%!{)!c$iMKk@*?hUgT34NMeU97 z;)?f%Kni5a;n4g=7;>0&ed8@Bul8rZCqhbl>Jbm@Zmw{bG}T?^ zp;W`s0P+@ZwPEZ4VqhS{xMmqwE`w($Cer%0-%ma>mk)O7)3$9nW?nvU)S;&5hr(UU z8%U^661j3)dZH(qh_o^s+N1M{1Pl7qs6sUyrpt_pVzgC>ZSg0!xd6Vqz{H}{HIjoZ zG&o7qpr3x)EgXN18T6_|SjI^smO)9^(F?81`$MEVve5DULnY>a2I;Ee!aEL!Ve-^W z`sAiMfB2psV~Bd}X#(OY*%R*(c=Oa@W^4*m_E%NE5DlW# zG0eCYcR2WV#26wg+pFBJ6f_~U^C*%V(TQrL!?E%J=>IpVLlDx!E-Nrd-4p=1LVu@p zU)KU?!$r!YLk_9!gzlv-<=#@IYscZbiSz_B2pSbl%T!DpdF>VqMY_#|aG~K8)|2_v z-es!hvQf6XOF0KO9g2%DIH+fB?xMM3ZEtyKrI;aNTn^W6Ze?osq7H5NBzvN-qWqJLs!`Tl9m#a$p^SF^7-*6b8y= z2ygw|vNIqi!|Zy$gI4AT-}h;=S|L=Yvd2&Eekq1aTidU5&h$Ss`M~~iM#qXZv~=j; zPnc%+XhqRKEE%FVD&z)lXqbG{MIDMJ_?u+couey$LcnDpM@;qJ zN0WGTh^>z!Dt}revqHOCw#kM&IP<~R;(yS1hl#{gE8=FN@rF1mXlDmf6vhoChZpyp zn8eC$DRo{NK*47>j*t!W{f@b3@4z|w)fSke*q$VFi4)QI$G_y7zOM!x1gc*8aoafv zjc;T-q}qX8!C?*Iw1>|}mar<%;gs*=pwV)`XTn)Cb?|Z;mVsr*(w& zsecy#wAlgqF4HVFKfXp|$nvl$yf+V@edSar_qhXs>B>DveF)U$*OVD58_Ag)r8~A9Rl2EjnE>D3u!m9&w@*30l7^J!)qZ zwt(j83{0D5?i~zEJdd`Y950!OVh;^!;c1c=vuLY2 zYt<}&t2nGw2nVIe&rP3yLaH%`EWPE$4z-F><_lg}6d$Zlij0VtFl(Oea@G*sAPA?_ z$r`$eD-?-$2EW{125cQ-yt7*MiJ7VreX?3ypY1 z#>gvcEmw+oHE}>&$jadY@(9mzs^ zWa)`6=y6D*c4Isc`}q?2dhP#?$;X%2=7V)>2oK2|O&MCNX;dvig$mOj&lOH$_rl$p zJ;W8h0@q5tfN|Vko_p@n^96_W40)Ll3JoCDcx>pb#azVD6A$ zHly9W})Z-6YA3 z<)laCLKKl48|%I0{8B1VL`8QmxH?QKEH%ucKpC!S4N`a9}zF-*@#5k@=N1+N{|6SyH$7)n;5> z)6)SM5sK%wojv?4yQM!sVFTsxyLDK&MvqSpOK;lP3qHmPyB)Ne^G77z&K~2DwX*|< zwb=9-w~+qD>6Q!|Ny_=xJzq(sv_TR82s^bH4|PBFwfYv|u*COW9xTxJsos4R7PKK9 zllRf7H_a`ls7h>QWd+LOj?VGVGxxVwya`mmgE8mE#?HNIKM?iT|A4N?$r+b+P=2iCJU zQKZMGy?SdAgo)vTsk#O-lhy40VG*c{{*ZA$Wsq!7!WZClUs>n=!^M_dFTVWPJB8WYd#+~G)i#f4eC9Y~R?$>i%ER^_ z%_a-Os^|9uM(BYoxkuAfq)Vyk7H|3D(nSe2er{~m);?-ttA`u5dnvHCT$X6r+hbFK zyca&<>p7Z&9WE>21X42mnmac+;<@$!!EyP4Mb#|tdG({gVs&1DZa(+@b56Nxi|j_e=)d&z9I<~dVuw#rNB2TvrIm^8 zin%jPuCvqqu&$u{0Zn-2&=0!z?`<~KnS#+$AIprsd2Qy%J05fVILDW>LWgpK`U4df z4TWeSia1IB#!?62dl;ltQXu@Gg`O`W<_Z88EA)z9*a|XU7x8d$w1@9KvJe8aYozpyDuVvZ~!?}Yd)$rx{_n(#K-gTN;6gfd( z9muzNfqCID^NXJydb^(~3|K3eP4Q*b*APhK)Lemf;p$sLBz;+_e9Ovm^FqO^%Fm71 z{(Me4eRb55+#Orx;+fycXf_8l@40Ko=TAoE39IxAUV?u`mG(tSl zk!yN7Odiz$3$o0?7ww<_ZpvZ$1kIlFOWY&}>+~k=@kyvxRQvWj&B{u8iV;YG&&@T< z3s%PC&;T3vc^Ma%20Am?lguy5DoraaEH!+5Yv5>TDIZo0=8gA(o zG(TN6Pi_)ASb-gxspD?LK76C=}CjOX+J;i5=fSR{rV114{bt>Th~?#*fc0E-zD6y zMr34I`Z#*1^vfX%wtb3eu-YezUFbI^@~gF_DtN=f^1^9{(bn4EzH0zFlEyaAnCOYG zmO?ZWd@+Ktsn0<2#hye`-La25#hFSLx1cj4#?@gKu0OKFt-cNC*Y&IMVMstowmUhW zy&g^)I;{xzYm*x0B^9SuS;GDloer5TdBsww-KQE6B)wNo(c&wN=_ED1IGdqoW0+Jd2IzEO;f4JiFTGeh{<)MA#S=ZoY#|dP8&OhC zEgwS#UgsjZ()#AheC8X(6k9vkyB52Y+sM~iHq3}u%}P?MT2K5!<3H|={?sH+S$l2M zM|JQs`syuvW6O4OGchmT_s!qyOuvC>@?&zfm`WB!y;BsK4-5CIv@vPF{&48|+?TrI zzIo(}`9LvB%r{l+gh|*nEd~D>P2JXIY1FP0|HyPwyt^v)Qx-DKtOLiy96U2gSCG`? zr0@Q-vKe7)A?Y^L=8Op)N_ySZ8Yg9I9A-p}6CS^b{+u@D6PnqrfKJAsSeGBPHZDi@$}P{zd70bf7JP_)`a~T zFOHr(nd~OS!`}2x5-;7C?7BHnGxEK#IzCu9b;|YZF-9&etmCsN{U`Jm$q$mkDJ9uLJM>*FodzOG`s}k*1HFqemNtTbEF}TXd76Zrh8y^J+lhEj~Uu9q`bw zdDT<-#Hib9+cP$pl^wMs`h(Jy-W%iat#ihs>Qt3 zR04_^BXDovN#}4ufEt_s*V}+H8K(>NhV9W&$zISIZOG)H#*u^~ zu!;XwVkuL@1*}_&#EZvq?cF_v*(qGV+?0Qy{{HG4n}@k-CGu&L6_NlZ*kvMhI%hq; zyl`sX!e~cT;@?yeFQ-+u_Q(KLIbP+o_b7{^LgPCfkv_nDqYwMKuS? zdE!q4W%*%^MCB~>02%o?NK`B0wfW1=jG0G~ceQmY+1?YS{}juN_d1sBrBJM{V7WA71+YPohKasVC< zkoVQw;SkYO@!U@Nm;NCiS%9@5+cXKPranc*%bUj_O>f#T|Bck0Z~rCdJw2-8YAQscG}wXXK82SNuNbTKq@*JN zsRyWca?hhCrxUrlmP-rSf;}tca@q+tP1f0cxqJI#5uMPvy0$!n7r#|Lj>gtO0G%>J zTtJsq@!RgSW|Qdg*q$`VW!!3j)BUM|b`$PPA1xf3uR0TK?QVZf7G|(>C)oPAT?ou; z94!+X@Ucw(g2X2%9e`B`qd-@zy;&7F1{HaFOA3V}uhp3+M&&^m0V=tAqSZ=g^O6BE z@Y;m=N*9tKNyaZt8{N)R-Fb8vCN+>3{W{w>+=mwdYb2T8(ry2`eG~eJ4s!QCD32X+ zI{Wv-B}inEr?i>80X+f#=fGVB)&%Bu%`G-t?4sIDAEv`b(j3F7fnLt01=mmaj z#3mA&^c+^e^X%l0h$9EaZNn&l_-zlbIRArom~teZqH_u}BGMj;!I03GL5CYNU}2(} zw~HW3der7(*Uet$k!i2^A0p7Sl0Nj@F_zb08`uIPnJ3iEAE4;u)v4Ot@8fRf`fwz- zP4WFKYM3Vaic@k3zX;$d$V<-H4Y1K>@3qF^qbT1Rk>d$>pRzygDaM?47QtDIdAu;B z$(Fm_E<2`56+NIG5qK}h&ZWn1ulAZc#|@zI*l37tXLSqLJt6Y`(W#}y!U4MKX&Nq! z_0L3>iOCyE%%}t2<-XQ2?Z1Fa0r&Z$TjE)-uWT<+Lam3Ng%f-)r&w%JS$T z5~HdMfVZ+9@h&uoYLeFcLIjLr(#CHy+t%K>5(CX28u4wvoIJ*Ejk|pKrT^E@N>$|y zp*ZG)2hr>1zs7);XrQrN#X~PPQu=Z5Eh?FTpY@tGaSYSSB?yyv;6wXxCzY#$_)ATY z4(kRwG~CZ%{D$aCFS1s>>YjZ^0}y!2J`O#vYx?E+!MJPfNJBBUFK3J{V@w%aKo`!( z&3E?2^Qp@Bvx`K&6%7AzM<7x;5h8ouvKkQ1vVE}#N(-@NQw_n=BPeKDO zf0H0 zGHw7&DR>F`)URb!jZ=HX^Eg zvP?-3D|+RPHk^v>KAG9+b(*{Kt6|lRQm7FS)^Juep*#?iswL3vlQPVf1amNE0qsQ9 znMf0e*efZ(^J=J8CD21w1vcxI{q%XD4P6bKz$}in7@%qV3g}218QYixeabB06scL} wQh`qN|Nj@CfDUNDCjkw=zXkaJuq=DOE(VMSbY=Wi09XyOFts(o8)0z&1F_&Mr~m)} literal 0 HcmV?d00001 diff --git a/packages/f2/test/components/guide/guide.test.tsx b/packages/f2/test/components/guide/guide.test.tsx index 46af6107d..e19760aff 100644 --- a/packages/f2/test/components/guide/guide.test.tsx +++ b/packages/f2/test/components/guide/guide.test.tsx @@ -189,6 +189,22 @@ describe('Guide ', () => { }); it('tag', () => {}); + it('guide 超出范围', async() => { + const context = createContext(); + const { props } = ( + + + + + + + ); + + const chart = new Canvas(props); + chart.render(); + await delay(50); + expect(context).toMatchImageSnapshot(); + }); it('使用min、max、median', async () => { const context = createContext(); const { props } = (