èšäºãèªãã§æåŸã«Reactabularã«ã€ããŠè©±ããåŸããããå®çŸããä»®æ³åå¹æã¯æ¬åœã«è¯ãã§ãããããŒã¿ãå°ãªããšããã©ãŒãã³ã¹ã®åé¡ãçºçãããããåœé¢ã¯ãã®ããŒãã«ãå¿ èŠã ãšã¯æããŸãããããŒã¿ãå€ãå Žåã¯ããŒãžã³ã°ããå§ãããŸããæ£ããã
react-lazyloadã¯ããã¥ãŒããŒãã«ãªãã³ã³ããŒãã³ãã®divãã¬ã³ããªã³ã°ããŠé«ããåããã¹ã¯ããŒã«ããŒãæ£ãã衚瀺ã§ããããã«ããŸããããã¯Reactabularãšreact-virtualizedã®å®è£ ã§ãã
Reactabularã¯trãäžäžã«ã¬ã³ããªã³ã°ããé«ãã¯è¡šç€ºãããŠããªãè¡ã®é«ãã«èšå®ãããŸãã
react-virtualizedã¯ããªã¹ãã®å€åŽã«divãèšå®ããé«ããæ¯ããŠããã position: absolute; top: 36700px;
ä»ããŠè¡šç€ºãããèŠçŽ ã®äœçœ®ã調æŽããããšã§ãã
åå¿ä»®æ³åãšåå¿ç¡éã®äž¡æ¹ã§ãåã¢ã€ãã ã®é«ããæå®ããå¿ èŠããããŸãããããã¯å¶éã®ããã«æããŸãã
åã¢ã€ãã ã®è¡ã®é«ãã決å®ã§ãããšããåæã®äžã§ã react-infiniteããã±ãŒãžã«åºã¥ãããŒãã«ãã¥ãŒã¯æªããããŸããã
ã€ã³ãã©ãããã¢ãã¬ã¹ã貌ãä»ããªãã§ãã ããã ã ã
åå¿ä»®æ³åãšåå¿ç¡éã®äž¡æ¹ã§ãåã¢ã€ãã ã®é«ããæå®ããå¿ èŠããããŸãããããã¯å¶éã®ããã«æããŸãã
minItemHeight
ãŸãã¯minRowHeight
ã©ãã§ãããç§ã«ãããšããã¹ãŠã®è¡ã®æå°ã®é«ããããã£ãŠããå Žåã¯ã react-virtualized
ãšreact-infinite
ã§ååã§ãã
ããã height
ãšminHeight
äž¡æ¹ãæ©èœããŸã
ãã®åé¡ã«é·ãéæ©ãŸãããŠããæšæ¥ãç§ã¯ã€ãã«ããããé«ãããµããŒãããã¹ã¯ããŒã«ãªã¹ããœãªã¥ãŒã·ã§ã³ãäœæããŸããã react-list-any-height
@ wangtao0101ããã¥ã¡ã³ããæžããŸãããïŒ
@benjycuiå åŒãç§ã¯ãŸã æžãæéããããŸããã§ããã
@benjycuiããã¥ã¡ã³ãOK
ãã®ã¹ã¬ããã®ã»ãšãã©ãèªãããšãã§ããªãã®ã§ããããé¢ä¿ãªãå Žåã¯ãè©«ã³ããŸãããJaegerUIã®ä»®æ³ã¹ã¯ããŒã«ã§æ¡çšããã¢ãããŒããå ±æããããšæããŸããã çŸæç¹ã§ã¯äžè¬åãããŠããŸããããããã§ãäžèŠã®äŸ¡å€ããããããããŸããã
jaegertracing / jaeger-ui-src / components / TracePage / TraceTimelineViewer / ListView / index.js
ã¢ã€ãã ã¯åºå®ã®é«ãã§ããå¿ èŠã¯ãããŸããïŒããããreact-list-any-heightã«äŒŒãŠã
src / components / TracePage / TraceTimelineViewer / ListView / index.jsïŒL321ãL373
PRããã®ããã€ãã®ã¡ã¢ïŒ
react-virtualizedããå§ããŸããããã¹ã¯ããŒã«äžã®ã¬ã³ããªã³ã°ãããŠããªãé åã®ãã©ãã·ã¥ãšåçãªãµã€ãºèšå®/å®æçã«å€æŽãããã³ã³ãã³ãã«é¢ããåé¡ã«ãããæ¬è³ªçã«åãããšãè¡ãå€ããããžã§ã¯ãã埩掻ããŸãïŒ
src/components/TracePage/TraceTimelineViewer/ListView/*
ã
ListView
ã¯ãç§ãã¡ã®ããŒãºã«åãããŠæé©åãããŠããŸãïŒãããŠçšéãçããªã£ãŠããŸãïŒã ãããã®æé©åã«ã¯æ¬¡ã®ãã®ãå«ãŸããŸãã
- ã¬ã³ããªã³ã°ã®é »åºŠãæžãããã¬ã³ããªã³ã°ããšã«å€§éã®ã¢ã€ãã ãã¬ã³ããªã³ã°ããã¢ãããŒããæ¡çšãã
- çŸåšã®ã¹ã¯ããŒã«æ¹åã ãã§ãªããäž¡æ¹åã®ã¹ã¯ããŒã«çšã«æé©å
- æå°ããã³éåžžã®ããªãŒããŒã¹ãã£ã³ãã®æŠå¿µããããŸããã€ãŸããçŸåšã¬ã³ããªã³ã°ãããŠããã¢ã€ãã ã®ãªã¹ããæå°ãããã¡ãŒãæºãããŠããå Žåã¯ããã以äžã¬ã³ããªã³ã°ããŸããããããã§ãªãå Žåã¯ãæå°ãããã¡ãŒãšããã€ãã®è¿œå ãååã«æºããããã«ã¬ã³ããªã³ã°ããŸããäžæ
ãŸããAnt Designã®æãåªããäœåã§ãïŒ ïŒ+1ïŒã§äœæ¥ããã®ã¯æ¥œããããšã§ã
è¿œå äºå®ã®ããŒãžã§ã³ã¯ãããŸããïŒ
ç§ã¯åãåé¡ã«ééããŸããã äœãé²æ©ã¯ãããŸããïŒ
åãåé¡ãæ±ããŠããŸãã
ããã«ã€ããŠäœãé²å±ã¯ãããŸããïŒ
@ SeanCraftsman ã @ nunohora ã @ aindong â react-virtualizedã䜿çšãŸãã
@tiffonããã¯ãªã¹ãã§ã¯æ©èœããŸãããããŒãã«ã§ãããè¡ãæ¹æ³ãããããŸããã
ããã«ã¡ã¯ãreact-virtualizedã§TreeSelectã䜿çšããæè¯ã®æ¹æ³ã¯äœã§ããïŒ
ããã«ã€ããŠäœãé²å±ã¯ãããŸããïŒ react-virtualizedãAntdããŒãã«ãšçµã¿åãããããšã¯å¯èœã§ããïŒ
åå¿ä»®æ³åãšåå¿ç¡éã®äž¡æ¹ã§ãåã¢ã€ãã ã®é«ããæå®ããå¿ èŠããããŸãããããã¯å¶éã®ããã«æããŸãã
åã¢ã€ãã ã®è¡ã®é«ãã決å®ã§ãããšããåæã®äžã§ãreact-infiniteããã±ãŒãžã«åºã¥ãããŒãã«ãã¥ãŒã¯æªããããŸããã
@paranoidjk @benjycuiã¡ããã©fyiãreact-virtualizedã¯ããã®å Žã§èŠçŽ ã®ãµã€ãºã決ããæªç¥ã®é«ãã®è¡ã§ãæ©èœããŸãïŒ https ïŒ
ãŸããããã«ã€ããŠã®ç§ã®èãïŒantdå ã§ä»®æ³åãè€è£œããå¿ èŠã¯ãªããããããŸããã ããããã代ããã«ããŠãŒã¶ãŒãèªåã§ä»®æ³åãå®è£ ã§ããããã«ãã¡ãã¥ãŒ/ããŒãã«è¡ã®æäŸãæ åœããã¬ã³ããªã³ã°ã¡ãœãããå ¬éããããšããå§ããã®ãããã§ãããã
åèãŸã§ã«ãreact-windowã¯æ¬¡äžä»£ã®react-virtualizedã ãšæããŸãã
https://github.com/bvaughn/react-window
æšã2018幎7æ5æ¥ã«ã¯ãåå4æ01åAMãžã§ããµã³Dumaine [email protected]
æžããŸããïŒ
ãŸããããã«ã€ããŠã®ç§ã®èãïŒè€è£œããå¿ èŠã¯ãªããããããŸãã
antdå ã®ä»®æ³åã ãããã代ããã«ãã¬ã³ããªã³ã°ã¡ãœãããå ¬éããŸã
ãŠãŒã¶ãŒãå®è£ ã§ããããã«ã¡ãã¥ãŒ/ããŒãã«è¡ã®æäŸãæ åœããŸã
ä»®æ³åèªäœãè¯ãã¹ã¿ãŒãã«ãªãã§ããããâ
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/ant-design/ant-design/issues/3789#issuecomment-402638593 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/ACMpUchXXaG0moutACfeWCLTQTZqoadnks5uDcfdgaJpZM4KueVV
ã
ããã§ãåæ§ã®åé¡ããããŸããïŒ ð³
転éã³ã³ããŒãã³ãã§ãéåžžã«é ãã§ã
react-virtualizedã§antdããŒãã«ã䜿çšããããã®çŸåšã®åé¿çã¯äœã§ããïŒ
ç§ã¯antdããŒãã«ãreact-virtualizedããŒãã«ã§ã¬ã³ããªã³ã°ããããšã«ã€ããŠã¯ããããŸããããreact-virtualizedãªã¹ãã¯rowRendererããããã£ã䜿çšããŠantdã®ãªã¹ãã§äœ¿çšã§ããŸãã
ãŸãã¯antdããŒãã«ã䜿çšããã«ã«ã¹ã¿ã ã¹ã¿ã€ã«ã§react-virtualizedããŒãã«ã䜿çšããŸããïŒ
ããã«é¢ããæŽæ°ã¯ãããŸããïŒ
ããã©ãŒãã³ã¹ã®åé¡ã¯ãŸã æããã§ããã§ããã ãæ©ã解決ã§ããããšãé¡ã£ãŠããŸãã
React Windowã䜿çšããŠãããã解決ããPRãäœæããããšã«èå³ããããŸãã ãã®åŸå±æ§ãå°å ¥ããããšã«ã€ããŠã®ãã³ãããŒã®èãã¯äœã§ããïŒ
React Windowã䜿çšããŠãããã解決ããPRãäœæããããšã«èå³ããããŸãã ãã®åŸå±æ§ãå°å ¥ããããšã«ã€ããŠã®ãã³ãããŒã®èãã¯äœã§ããïŒ
ç§ã¯ããããã°ããã®éã²ã©ãå¿ èŠãšããŠããŸããã ä»ã®ãšãããreact-windowã䜿çšããŠAntDã®å€éšã«ããŒãã«ãå®è£ ããããšãäœåãªããããå¯èœæ§ããããŸãã ããããµããŒãããããŸã§ãããã©ãŒãã³ã¹ã¯é·ããªã¹ãã§ã¯åãå ¥ãããããå€ãã®è¡ãæã€äœ¿çšå¯èœãªããŒãã«ãå¿ èŠã§ãïŒä»®æ³åãå¿ èŠã§ãïŒã
ç§ã®ããŒã ã®@ swillis12ã¯ãçŽ æŽãããããã©ãŒãã³ã¹ãåããreact-tabularã䜿çšããŠããŸãã
ãã®åé¡ã解決æžã¿ãšããŠããŒã¯ãããŠããããšã確èªãããã®ã§ãããçŸåšãé·ããªã¹ãã¯äœ¿çšã§ããŸããã
ãã®åé¡ã«åŒãç¶ã泚æãæã£ãŠãã ãããããŒãžã³ã°ã ãã§ããžãã¹ããŒãºã解決ããæ¹æ³ã¯ãããŸããã
https://github.com/bvaughn/react-window
ãã¶ãããããçµã¿èŸŒã¿ã«ããå¿ èŠããããŸãã
ãã®å·ã¯2幎éçºè¡ãããŠããŸãã ã ã ã ã ã
é ããªãããã¯ãŸãã ïŒ ð
ã ãããäœãé²æ©ã¯ãããŸããïŒ
ããïŒ ç§ãã¡ã¯ããã倧奜ãã§ãïŒ ã©ãã§ããïŒ
ãããžã§ã¯ãã¯ããªãŒããŒãã«ã䜿çšããå¿
èŠããããããŒããå€æ°ããå¯èœæ§ããããããantdããŒãã«ã«åºã¥ããŠã³ãŒããå€æŽããä»®æ³èªã¿èŸŒã¿ãè¿œå ããŸããããã¢ã®åããŒãã®äžã«1999ã®ãµãããŒããããã詳现ãªãã¹ããè¡ããªããšãã°ãçºçããå¯èœæ§ããããŸãã
ãªã¢ã¯ã·ã§ã³ãŠã£ã³ããŠãããžã§ã¯ããåç
§ããŠãã ãããæåã®æ°éããæäŸããã现ãéè·¯ã«æè¬ããŸããããã³ããšã³ãã«è§Šããã°ãããªã®ã§ãã³ãŒãã®å€æŽãå°ãé¢åã§ããåç·šæããŠæçš¿ããæéããããŸããåç
§ããŠãã ããã
ãã©ããŒ+1
å¥åŠãªåé¡ããããŸãã Form
ãšTable
ãå
åŒã³ã³ããŒãã³ããšããŠååšããå Žåã Form
ãžã®å
¥åã¯éåžžã«ã¹ã¿ãã¯ããŸããç¹ã«Table
fixed
å ŽåãããŒãžå
šäœã¯åºæ¬çã«äœ¿çšã§ããªãæäœã®ç¶æ
ã«ãããŸãã Table
ããŒã¿ã®èæ¯ã¯ããŒãžããšã«30è¡ã§ããŒãžã³ã°ãããŸããåŸã§ãã¢ãè¿œå ããŸãã react tool
æž¡ããŸãã Form
åãã¬ãã«ã®ãã¹ãŠã®
package.json
"antd": "^3.12.3",
"react": "^16.3.2",
ãã®ããŒãžã¯ãDidMountã§ã®ããŒã¿ã®èªã¿èŸŒã¿ãé€ããŠãä»ã®ããžãã¯ãå®è¡ããŸããã
ãããå®è£ ãããäºå®ã®å Žåã誰ããç§ãã¡ã«æŽæ°ãæããŠããããŸããïŒ ãããããªãããã€å©çšå¯èœã«ãªããæããŠããã ããŸããã ããã¯ç§ãã¡ã®ã¢ããªã±ãŒã·ã§ã³ã®ãããã«ãŒã«ãªãã€ã€ãããå ã«é²ãããã«Antdãåé€ããããšãæ€èšããå¿ èŠããããŸããããã¯ããã®ãã¬ãŒã ã¯ãŒã¯ãæ¬åœã«å¥œããªã®ã§æ²ããããšã§ãã
React Windowã䜿çšããŠãããã解決ããPRãäœæããããšã«èå³ããããŸãã ãã®åŸå±æ§ãå°å ¥ããããšã«ã€ããŠã®ãã³ãããŒã®èãã¯äœã§ããïŒ
ç§ã¯ããããã°ããã®éã²ã©ãå¿ èŠãšããŠããŸããã ä»ã®ãšãããreact-windowã䜿çšããŠAntDã®å€éšã«ããŒãã«ãå®è£ ããããšãäœåãªããããå¯èœæ§ããããŸãã ããããµããŒãããããŸã§ãããã©ãŒãã³ã¹ã¯é·ããªã¹ãã§ã¯åãå ¥ãããããå€ãã®è¡ãæã€äœ¿çšå¯èœãªããŒãã«ãå¿ èŠã§ãïŒä»®æ³åãå¿ èŠã§ãïŒã
@ swillis12ããã«ã¡ã¯ãããŒãã«ã®ããã©ãŒãã³ã¹ã®åé¡ã«ã©ã®ããã«å¯ŸåŠããŸãããïŒ
åãå€ãããå ŽåãèŠä»¶ã®1ã€ã¯ã70ãè¶ ããåã衚瀺ããå¿ èŠãããããšã§ããããŒãžã³ã°ãå®è¡ããããšããŠããããã§ãéåžžã«é ããŸãã
ããã¥ã¡ã³ãã«ã¯react-virtualizedã®äŸããããšæããŸãã
ããªãã¯ã
æšã2019幎3æ28æ¥ã«ã¯ãåå4æ48åAMããŒã³[email protected]ã¯æžããŸããïŒ
åãå€ãããå ŽåãèŠä»¶ã®1ã€ã¯ã70ãè¶ ããåã衚瀺ããå¿ èŠãããããšã§ããããŒãžã³ã°ãå®è¡ããããšããŠããããã§ãéåžžã«é ããŸãã
â
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/ant-design/ant-design/issues/3789#issuecomment-477502300 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/ACMpUYf-yuPS8ag-mr47H7b4Z2rWHVnLks5vbIHSgaJpZM4KueVV
ã
ç§ã¯ãã®åé¡ã1幎以äžãã©ããŒããŠããŸã...
ãŸã 解決ãããŠããŸãã...
次ã«ãreact-virtualizedãšreact-windowãè€éãããŠãæ©èœãå€ãããŸãããããã®æ©èœããã¥ã¡ã³ããèªãã®ãé¢åã§ããå¿
èŠã¯ãããŸãããèªåã§å°ããªãã€ãŒã«ãäœæããŸããã<br i = "8" />ãã®æ©èœã¯ãreactãšåè¡ã®é«ã以å€ã«äŸåé¢ä¿ããªãããšã§ããåçã«ããããšãã§ããäºåã«äžããå¿
èŠã¯ãããŸãã
https://github.com/Autodesk/react-base-tableãããèŠãŠ
GitHubé«ãããã©ãŒãã³ã¹ãšæè»æ§ãåãã倧èŠæš¡ãªããŒã¿ã»ããã衚瀺ããããã®reactããŒãã«ã³ã³ããŒãã³ã-Autodesk / react-base-table
æžå¿µäºé ...äŒæ¥ã¯1000è¡ã®ããŒã¿ã衚瀺ããå¿ èŠããããŸãã
https://github.com/bvaughn/react-window
ãã¶ãããããçµã¿èŸŒã¿ã«ããå¿ èŠããããŸãã
ãã以äžã®é²æ©ã¯ãããŸããïŒ
å ¥åãšããããããŠã³ã䜿çšããŠTimePickerãäœæããããšããŠããŸããããããããŠã³ã¯ä»ã®ã³ã³ããŒãã³ãã§ã¯æ©èœããªããããã¡ãã¥ãŒã䜿çšããŠããããããŠã³ãªãŒããŒã¬ã€ã§1440ã¢ã€ãã ïŒ24æé* 60åïŒãã¬ã³ããªã³ã°ããå¿ èŠããããŸãã
ãããããã®éã®ããŒã¿ã§ã®ããããããŠã³ããã©ãŒãã³ã¹ã¯ã²ã©ããã®ã§ãã
ã ãããç§ã®è³ªåã¯ïŒreact-windowãããããããŠã³ãªãŒããŒã¬ã€ãšããŠäœ¿çšããã«ã¯ã©ãããã°ããã§ããïŒ
ããã§ãç§ã®æžå¿µãåºããããšæããŸãã Google Product Taxonomyã®å®å šãªãªã¹ããå«ããªã¹ãã®éžæããããããŠã³ãã¬ã³ããªã³ã°ããããšããŠããŸãããããããããŠã³ã衚瀺ããããŸã§ã«æ°ç§é ããŠéåžžã«é ããªããŸãã ãããŸã§ã®é²æç¶æ³ã¯ïŒ
ä»è§£æ±ºçããããã©ããç¥ãããã§ããïŒ
ãªãŒãã³ã³ããªãŒãã§react-virtualizedã䜿çšãããã®ã§ããã䜿çšã§ããŸããã ç§ãæ»ããšã
@jingxiawl 1ã€ã®åé¿çã¯ãããããããŠã³ãæ€çŽ¢ããŒã¹ã®ããããããŠã³ã«ããããšã§ãã å¥ã®èŠæ¹ãããã°ããŠãŒã¶ãŒãæåã§äžã«ã¹ã¯ããŒã«ã§ããããã«ã¢ã€ãã ã®é·ããªã¹ãã衚瀺ããã®ã¯ããŸããŠãŒã¶ãŒãã¬ã³ããªãŒã§ã¯ãªãã®ã§ãç¶æ
ã䜿çšããŠæ€çŽ¢ãã¬ãŒãºããã£ã«ã¿ãªã³ã°ããããšã§ããããããŠã³éžæãªã¹ãã管çããŸãã Reactããã¯ã䜿çšããŠããå Žåã¯ã useEffect
ã䜿çšããŠãã³ã³ããŒãã³ãã®åã¬ã³ããªã³ã°ãæå°éã«æããããšãã§ããŸãã
ããã«ãããé ãã¬ã³ããªã³ã°ã®çã¿ã軜æžãããããšãé¡ã£ãŠããŸãã ããã§ããéžæãªã¹ããé·ããªã£ãããã«ããã®ã³ã³ããŒãã³ãã®é床ãäœäžããªãããšãé¡ã£ãŠããŸãã
@yoonwaiyan
ããããšãããããŸããã ããããä»ã®åé¡ã¯ãå€ãã®ããŒã¿ãé€å€ãããŠããããšã§ãããé·ããªã¹ãã§ã¯åžžã«åé¡ãçºçããŸãã
@yoonwaiyanãããè¡ãäŸã¯ãããŸããïŒ
antd.Tableä»®æ³ããŒãã«ãAPIã¯å
ã®ããŒãã«ãšå®å
šã«æŽåæ§ããããrowHeightãæž¡ãå¿
èŠã¯ãããŸãã
https://github.com/ctq123/ant-virtual-table
å®å
šã«æ©èœãããã©ãŒã ã³ã³ããŒãã³ãã§ããreact-windowã«åºã¥ã
https://github.com/nexxLuo/tablex
@douglasjuniorãããããã¯åé¡ãå®å šã«è§£æ±ºããããšãæå³ããã®ã§ã¯ãªããå°ãªããšããŠãŒã¶ãŒã«æªãèªã¿èŸŒã¿äœéšãäžããªãããã®ç§ã®ãããã¯ã·ã§ã³ã³ãŒãã®äžæçãªè§£æ±ºçã§ããããããããã«æé©åããæ¹æ³ã«ã€ããŠã®ææ¡ãåãå ¥ããŠããŸãã
äžèšã®ããã€ãã®ã¹ã¬ããã«ãªã³ã¯ãããŠããant-virtual-tableãåç §ããŠã圌ãã䞻匵ããŠããããã«ãããŒãã«ã®ãã®åé¡ãã©ã®ããã«è§£æ±ºãããã確èªã§ããŸãã
ãšããã§ããã®SOæçš¿ã«ã¯ãé·ããªã¹ãã®åé¡ã«å¯Ÿããããã€ãã®æ£åœãªè§£æ±ºçããããŸããantdããŒã ããããèŠãŠãããããšãé¡ã£ãŠããŸãïŒ https ïŒ//stackoverflow.com/questions/38033442/big-list-performance-with-react
ããã«ã¡ã¯ã¢ã³ãããŒã
ãã®åé¡ã«é¢ãããã¥ãŒã¹ã¯ãããŸããïŒ ããã«ä¿®æ£ããäºå®ã¯ãããŸããïŒ å€§éã®ããŒã¿ãããå Žåããªã¹ãããŒãã«ã䜿çšããã®ã¯å®éã«ã¯éåžžã«èŠçã§ã
@ afc163
ã¡ãªã¿ã«çŽ æŽãããä»äº!!!
ããã«ã¡ã¯ã¢ã³ãããŒã
é
延èªã¿èŸŒã¿ã§Treeã³ã³ããŒãã³ãã䜿çšããŠããã TreeNode
äžã«åãšããŠçŽ20,000 TreeNodes
TreeNode
ãŸãã ãã®ããã«å€§éã®ããŒã¿ãããããªãŒãããã²ãŒãããã®ã¯éåžžã«é
ããèŠçã§ãã ãã®åé¡ã«ã€ããŠäœãæ°ããããšã¯ãããŸããïŒ
ããã«ã¡ã¯ã¢ã³ãããŒã ã
åææantdã³ã³ããŒãã³ãã
ç§ã¯Selectã³ã³ããŒãã³ãã䜿çšããŠããŸããã2000ãè¶
ãããªãã·ã§ã³ããããããã³ã³ããŒãã³ããéåžžã«é
ããªãããã react-window
ãŸãã¯ãã®ä»ã®æ¹æ³ã§æé©åããå¿
èŠããããŸãã ããã«ã€ããŠäœãæŽæ°ãããã°æããŠãã ããã
ãããåèã«ã§ããŸããïŒ ãã®ãªããžããªã«ã¯ãããŒãã«ã³ã³ããŒãã³ãã«é¢ããéèŠãªæ å ±ããããããããŸãã
SuperSelect
ã¯ãæ°äžã®ããŒã¿ã®ä»®æ³ãªã¹ãããµããŒãããantd Selectã«åºã¥ããŠããŸããããã¯ãç§ã®ãããžã§ã¯ãã§æ£åžžã«æ©èœããantdSelectãšåãAPIã§ãã
ä»ãSuperSelectã¯antd-virtual-select
移åããŸã
ãã£ããããã®@iblqïŒ ant select https://codesandbox.io/s/superselect-8xlwkãšã®æ¯èŒãå«ããããã«ããã¢ãå°ãå€æŽããŸãã
ããã«ã¡ã¯ã¢ã³ãããŒã ã
åææantdã³ã³ããŒãã³ãã
ç§ã¯Selectã³ã³ããŒãã³ãã䜿çšããŠããŸããã2000ãè¶ ãããªãã·ã§ã³ããããããã³ã³ããŒãã³ããéåžžã«é ããªããããreact-window
ãŸãã¯ãã®ä»ã®æ¹æ³ã§æé©åããå¿ èŠããããŸãã ããã«ã€ããŠäœãæŽæ°ãããã°æããŠãã ããã
https://github.com/react-component/selectã¢ã«ãã¡çã¯ãã§ã«ä»®æ³ã¹ã¯ããŒã«ãå®è£
ããŠããŸãã
antd4.0ããããæã£ãŠããã®ãåŸ
ã€å¿
èŠãããã ãã§ãã
@megawaclmaoãªã«ã åãã¹ã¬ããããã©ããŒããŠããŸããïŒ èª°ããããªããéãããšãç³ãåºãã®ã¯ã©ãã§ããïŒ
4.0ãåŸ ããªããã°ãªããªããšæããŸãâïž
ãã ããäžèšã®SuperSelect
ãã¢ã¯éåžžã«ãã°ããããã®ã§ãã éåžžã«ããã©ãŒãã³ã¹ãåªããŠããŸãã æ®å¿µãªããã300è¡ä»¥äžãã³ããŒããŠè²Œãä»ããŠããã©ãŒãã³ã¹ã®é«ãSelect
ãååŸããããããŸãããç¹ã«ãTypeScriptã䜿çšããŠããŠJSã«ããããã§ãã ããã§ãããªãã¯ãŒã«ã§ãïŒ
react-window
ããªã¹ãã ãã«éå®ãããŠããªãã£ããããã®ã«...
ãã1ã€ã®ãªãã·ã§ã³ã¯react-virtualized-selectã§ããã2ã€ã®åé¡ããããŸãïŒ1ïŒAntã§ã¯ãããŸããðã2ïŒã¡ã³ããã³ã¹ãããªããªã£ããããåé¡ãçºçããå Žåã¯ð€·ââ
äžæè°ã«æã人ã®ããã«ãéããããããŠã³/éžæããŒã¿ã®ããã«å¯Ÿãã1ã€ã®è§£æ±ºçã¯ããªãã·ã§ã³ã®pagination
å°éå
·ãåããList
ã³ã³ããŒãã³ãã§ãã ãã£ãŒã ã®ããã«æ©èœããŸãïŒ
æ°ããããŒãã«ã³ã³ããŒãã³ãã¯ä»®æ³ãªã¹ããå®è£ ããŸããhttpsïŒ//github.com/react-component/table/releases/tag/v7.0.0-alpha.16ãåç §ããŠ
@abenhamdineæ¢åã®antèšèšãããžã§ã¯ãã§ä»®æ³åããµããŒãããããã«æ°ããããŒãã«ã³ã³ããŒãã³ãã䜿çšããæ¹æ³ã¯ãããŸããïŒ
@abenhamdineæ¢åã®antèšèšãããžã§ã¯ãã§ä»®æ³åããµããŒãããããã«æ°ããããŒãã«ã³ã³ããŒãã³ãã䜿çšããæ¹æ³ã¯ãããŸããïŒ
ããããããããç§èŠã§ã¯antd 4.0ãåŸ ã€æ¹ãè¯ãã§ããæ°ããããŒãã«ã³ã³ããŒãã³ãã¯ãã§ã«4.0prepareãã©ã³ãã«çµ±åãããŠããŸãã
æšæ¥ãã¢ã«ãã¡çãè¿œå ããããšããŸããããããŸããããŸããã§ããã
äºè§£ããŸããããšããããããã䜿çšããŸãã
https://github.com/wubostc/virtualized-table-for-antd
ããã¯å°ãåä»ãªããã¥ã¡ã³ããæã£ãŠããŸãããç§ã¯ãŸãcssãå°ãä¿®æ£ããå¿ èŠããããŸããã
v4ãåŸ ã€éã«v3ã§æ°ããselectã³ã³ããŒãã³ãã䜿çšããæ¹æ³ã¯ãããŸããïŒ ãŸãã¯ãä»®æ³åãªã¹ããå®è£ ããåãantdã¹ã¿ã€ã«ãæã€ãµãŒãããŒãã£ã®éžæã³ã³ããŒãã³ãã¯ãããŸããïŒ
ç·šéã
äžèšã®SuperSelectã³ã³ããŒãã³ãã䜿çšããŠããŸãããå®å
šã«æ©èœããŠããŸã
ãã¹ãŠã®ã¢ããããŒã ïŒ
@ shivam-ahuja antd 4ã4.0.0ã®Selectã³ã³ããŒãã³ããè©Šãããšãã§ããŸã-rc1ãåºãŠããŸãã
https://next.ant.design/components/select/#components-select-demo-big-dataãåç
§ããŠ
ããŒãã«ãã£ã«ã¿ãªã³ã°ã¯æ©èœããŸãããïŒ ïŒ11331ã«ç€ºãããã«ã倧éã®ããŒã¿ã»ããã®ãã£ã«ã¿ãªã³ã°ã§ãŸã é·ãèªã¿èŸŒã¿æéãçºçããŠããŸãã ã¢ã€ãã ã1,000ãè¶ ããããŒãã«ã§ã¯ããã£ã«ã¿ãªã³ã°ã¯ã»ãšãã©äœ¿çšã§ããŸããã
ãã³ã°ãªã¹ãã®ã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ã¯v4ã§æé©åãããŠããŸãïŒ https ïŒ
æãåèã«ãªãã³ã¡ã³ã
https://github.com/bvaughn/react-window
ãã¶ãããããçµã¿èŸŒã¿ã«ããå¿ èŠããããŸãã