日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

從 Ant Design 中,學(xué)一手復(fù)雜組件交互的優(yōu)秀實(shí)踐

來源: 責(zé)編: 時(shí)間:2024-05-16 09:06:35 192觀看
導(dǎo)讀我們在學(xué)習(xí)的時(shí)候遇到的 Demo 經(jīng)常都是比較簡單的,但是一旦到了實(shí)踐工作中,數(shù)據(jù)和功能就開始變得復(fù)雜了。這個(gè)時(shí)候許多小伙伴就不知道咋處理了,他可能會把組件寫的非常龐大。不利于維護(hù)。我們可以在 antd 中,學(xué)習(xí)一手最佳

OIU28資訊網(wǎng)——每日最新資訊28at.com

我們在學(xué)習(xí)的時(shí)候遇到的 Demo 經(jīng)常都是比較簡單的,但是一旦到了實(shí)踐工作中,數(shù)據(jù)和功能就開始變得復(fù)雜了。這個(gè)時(shí)候許多小伙伴就不知道咋處理了,他可能會把組件寫的非常龐大。不利于維護(hù)。OIU28資訊網(wǎng)——每日最新資訊28at.com

我們可以在 antd 中,學(xué)習(xí)一手最佳實(shí)踐,如何把復(fù)雜的組件轉(zhuǎn)化為簡單的組件。OIU28資訊網(wǎng)——每日最新資訊28at.com

例如我們有這樣一個(gè)復(fù)雜交互需求。這是一個(gè)樹結(jié)構(gòu)與輸入框結(jié)合的交互邏輯 Input + Tree。OIU28資訊網(wǎng)——每日最新資訊28at.com

OIU28資訊網(wǎng)——每日最新資訊28at.com

在 antd 中,這樣的交互被封裝成為了一個(gè)單獨(dú)的子組件 TreeSelect。他的妙處就在于,當(dāng)我們使用該組件時(shí),不需要關(guān)注內(nèi)部的復(fù)雜邏輯到底是如何處理的。OIU28資訊網(wǎng)——每日最新資訊28at.com

我們只需要關(guān)心的問題有三個(gè),第一,Input 和 Tree 結(jié)構(gòu)需要的初始化數(shù)據(jù)。OIU28資訊網(wǎng)——每日最新資訊28at.com

<TreeSelect   treeData={treeData}  defaultValue={}  placeholder="Please select"/>

placeholder 表示沒有任何選中數(shù)據(jù)時(shí),Input 中的提示信息。可以在組件內(nèi)部給一個(gè)通用默認(rèn)值,這樣在大多數(shù)情況就不需要顯示的傳入了。OIU28資訊網(wǎng)——每日最新資訊28at.com

第二,Input 受控屬性 value。OIU28資訊網(wǎng)——每日最新資訊28at.com

<TreeSelect   treeData={treeData}  value={}/>

第三,當(dāng)內(nèi)部有操作變化,并且需要告知外部時(shí),所需要執(zhí)行的鉤子函數(shù) onChange。OIU28資訊網(wǎng)——每日最新資訊28at.com

<TreeSelect   treeData={treeData}  onChange={}/>

很多時(shí)候,我們并不需要受控屬性 value 。這是許多人在使用時(shí)可能會不太理解的地方。受控屬性的目的是用于在父組件去控制 TreeSelect 的顯示。但是其實(shí)我們可能只是需要從 onChange 中獲取到當(dāng)前選中的結(jié)果,然后將這個(gè)結(jié)果整合到接口參數(shù)中去提交表單。只有當(dāng) TreeSelect 中的交互結(jié)果,會影響到其他外部組件時(shí),我們才會考慮使用受控組件。OIU28資訊網(wǎng)——每日最新資訊28at.com

因此,在使用時(shí),我們需要考慮的是,利用 defaultValue 或者 value 去回顯組件在初始化時(shí)的數(shù)據(jù)。OIU28資訊網(wǎng)——每日最新資訊28at.com

然后利用 onChange 獲取得到最新的值即可。OIU28資訊網(wǎng)——每日最新資訊28at.com

這里比較有意思的是,當(dāng)我們把目標(biāo)關(guān)注到 Input 組件時(shí),發(fā)現(xiàn) Input 組件的核心屬性也是這幾個(gè) defalutValue/value/onChange。OIU28資訊網(wǎng)——每日最新資訊28at.com

而 tree 組件的核心屬性,也是這幾個(gè) defalutValue/value/onChange。OIU28資訊網(wǎng)——每日最新資訊28at.com

因此,我們可以基于這種思路,去封裝復(fù)雜業(yè)務(wù)組件,讓其使用起來變得非常簡單。OIU28資訊網(wǎng)——每日最新資訊28at.com

例如,我們有一個(gè)配置項(xiàng)名為被選中的學(xué)員。在頁面上我們使用一個(gè)列表來暫時(shí)選中結(jié)果列表。OIU28資訊網(wǎng)——每日最新資訊28at.com

OIU28資訊網(wǎng)——每日最新資訊28at.com

在該結(jié)果展示列表中,可以刪除項(xiàng)。OIU28資訊網(wǎng)——每日最新資訊28at.com

當(dāng)需要重新選中時(shí),需要點(diǎn)開一個(gè)彈窗,然后彈窗中有一個(gè)完整的人員分頁列表。OIU28資訊網(wǎng)——每日最新資訊28at.com

大家可以腦補(bǔ)一下。OIU28資訊網(wǎng)——每日最新資訊28at.com

我們可以把這一部分統(tǒng)一封裝成一個(gè) TreeSelect 那樣的組件,命名為 PersonnelSelector,其中包括:展示結(jié)果的列表組件、彈窗組件、彈窗中的分頁列表組件。OIU28資訊網(wǎng)——每日最新資訊28at.com

對于內(nèi)部而言,構(gòu)成非常的復(fù)雜。OIU28資訊網(wǎng)——每日最新資訊28at.com

但是對于外部而言,他的構(gòu)成就非常簡單,我們只需要通過 value/defaultValue 回顯數(shù)據(jù),并且通過 onChange 獲取操作之后的最新選中值即可。OIU28資訊網(wǎng)——每日最新資訊28at.com

<PersonnelSelector   value={[{}, {}, {}]}  notallow={}/>

PersonnelSelector 就是我們封裝的業(yè)務(wù)組件。OIU28資訊網(wǎng)——每日最新資訊28at.com

// 簡化版代碼function PersonnelSelector() {  const [selected, setSelected] = useState([])  const [open, setOpen] = useState(false)  const {list} = usePagination(api)  return (    <>      <Table dataSource={selected} />      <Modal show={open}>        <Table dataSource={list} />      </Modal>    </>  )}

總結(jié)

這是一種合理抽離子組件的方式,在復(fù)雜頁面的交互中非常有用。把局部交互邏輯單獨(dú)隔離到子組件中去,而不需要在父組件中去維護(hù)彈窗組件等邏輯的狀態(tài),從而讓頁面組件的代碼保持簡潔。OIU28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-88339-0.html從 Ant Design 中,學(xué)一手復(fù)雜組件交互的優(yōu)秀實(shí)踐

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 探索.NET中的定時(shí)器:選擇最適合你的應(yīng)用場景

下一篇: 怎么更好的使用Gradle?

標(biāo)簽:
  • 熱門焦點(diǎn)
  • 2023 年的 Node.js 生態(tài)系統(tǒng)

    隨著技術(shù)的不斷演進(jìn)和創(chuàng)新,Node.js 在 2023 年達(dá)到了一個(gè)新的高度。Node.js 擁有一個(gè)龐大的生態(tài)系統(tǒng),可以幫助開發(fā)人員更快地實(shí)現(xiàn)復(fù)雜的應(yīng)用。本文就來看看 Node.js 最新的生
  • 服務(wù)存儲設(shè)計(jì)模式:Cache-Aside模式

    Cache-Aside模式一種常用的緩存方式,通常是把數(shù)據(jù)從主存儲加載到KV緩存中,加速后續(xù)的訪問。在存在重復(fù)度的場景,Cache-Aside可以提升服務(wù)性能,降低底層存儲的壓力,缺點(diǎn)是緩存和底
  • 分享六款相見恨晚的PPT模版網(wǎng)站, 祝你做出精美的PPT!

    1、OfficePLUSOfficePLUS網(wǎng)站旨在為全球Office用戶提供豐富的高品質(zhì)原創(chuàng)PPT模板、實(shí)用文檔、數(shù)據(jù)圖表及個(gè)性化定制服務(wù)。優(yōu)點(diǎn):OfficePLUS是微軟官方網(wǎng)站,囊括PPT模板、Word模
  • 一文掌握 Golang 模糊測試(Fuzz Testing)

    模糊測試(Fuzz Testing)模糊測試(Fuzz Testing)是通過向目標(biāo)系統(tǒng)提供非預(yù)期的輸入并監(jiān)視異常結(jié)果來發(fā)現(xiàn)軟件漏洞的方法。可以用來發(fā)現(xiàn)應(yīng)用程序、操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議等中的漏洞或
  • 慕巖炮轟抖音,百合網(wǎng)今何在?

    來源:價(jià)值研究所 作者:Hernanderz&ldquo;難道就因?yàn)樽约旱囊粋€(gè)產(chǎn)品牛逼了,從客服到總裁,都不愿意正視自己產(chǎn)品和運(yùn)營上的問題,選擇逃避了嗎?&rdquo;這一番話,出自百合網(wǎng)聯(lián)合創(chuàng)
  • 得物寵物生意「狂飆」,發(fā)力“它經(jīng)濟(jì)”

    作者|花花小萌主近日,得物宣布正式上線寵物鑒別,通過得物App內(nèi)的&ldquo;在線鑒別&rdquo;,可找到鑒別寵物的選項(xiàng)。通過上傳自家寵物的部位細(xì)節(jié),就能收獲擁有專業(yè)資質(zhì)認(rèn)證的得物鑒
  • 當(dāng)家的盒馬,加速謀生

    來源 | 價(jià)值星球Planet作者 | 歸去來自己&ldquo;當(dāng)家&rdquo;的盒馬,開始加速謀生了。據(jù)盒馬官微消息,盒馬計(jì)劃今年開放生鮮供應(yīng)鏈,將其生鮮商品送往食堂。目前,盒馬在上海已經(jīng)與
  • Android 14發(fā)布:首批適配機(jī)型公布

    5月11日消息,谷歌在今天凌晨舉行了I/O大會,本次發(fā)布會谷歌帶來了自家的AI語言模型PaLM 2、谷歌Pixel Fold折疊屏、谷歌Pixel 7a手機(jī),同時(shí)發(fā)布了Androi
  • 電博會與軟博會實(shí)現(xiàn)"線下+云端"的雙線融合

    在本次“電博會”與“軟博會”雙展會利好條件的加持下,既可以發(fā)揮展會拉動人流、信息流、資金流實(shí)現(xiàn)快速交互流動的作用,繼而推動區(qū)域經(jīng)濟(jì)良性發(fā)展;又可以聚
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
亚洲精品乱码久久久久久日本蜜臀| 国产精品夜色7777狼人| 久久精品女人天堂| 久久久久久久久久久久久久一区 | 亚洲人永久免费| 在线视频日本亚洲性| 欧美一区二区三区免费在线看 | 国产欧美二区| 亚洲激情午夜| 亚洲欧美日韩国产中文 | 国产香蕉久久精品综合网| 亚洲国产成人在线视频| 亚洲无玛一区| 久久综合激情| 国产精品国产三级国产专区53 | 日韩一区二区免费看| 欧美一区二区在线免费播放| 欧美二区在线观看| 国产亚洲精品资源在线26u| 亚洲美女视频在线观看| 欧美资源在线观看| 欧美日韩成人综合| 国内不卡一区二区三区| 一本色道久久综合| 久久久久久有精品国产| 国产精品久久久久久久app | 午夜视频一区在线观看| 欧美电影在线观看完整版| 国产日韩欧美不卡| 99国产精品久久久| 裸体歌舞表演一区二区| 国产精品视频免费一区| 日韩视频一区二区| 玖玖综合伊人| 亚洲欧美日韩精品综合在线观看| 久久天天躁狠狠躁夜夜爽蜜月| 国产精品久久久久一区二区| 亚洲国产精品悠悠久久琪琪| 久久国产精品久久久久久电车| 欧美视频二区36p| 亚洲国内欧美| 狂野欧美激情性xxxx| 国产美女精品视频| 亚洲少妇最新在线视频| 欧美精品七区| 亚洲国产成人在线视频| 久久久久高清| 国产日本欧美一区二区三区| 中文在线一区| 欧美日韩国产123| 91久久精品一区| 久久婷婷亚洲| 好吊色欧美一区二区三区四区| 午夜国产精品影院在线观看 | 欧美三级欧美一级| 亚洲人体1000| 蜜臀91精品一区二区三区| 国内在线观看一区二区三区| 亚洲欧美另类在线观看| 欧美性猛交一区二区三区精品| 亚洲美女少妇无套啪啪呻吟| 欧美成人亚洲成人| 在线欧美一区| 久久综合电影| **性色生活片久久毛片| 久久全球大尺度高清视频| 国产有码在线一区二区视频| 亚洲欧洲av一区二区| 国产精品毛片在线| 亚洲欧美日韩在线一区| 国产精品日韩精品欧美在线| 亚洲性感美女99在线| 国产精品久久久久av| 一区二区三区视频在线看| 欧美三区在线视频| 亚洲天堂久久| 国产精品欧美经典| 午夜精品免费| 国产欧美一区二区视频| 欧美在线亚洲一区| 国产一区二区三区成人欧美日韩在线观看| 午夜一区二区三区在线观看 | 在线精品福利| 免费成人激情视频| 91久久久亚洲精品| 欧美精品一区二区久久婷婷| 亚洲免费播放| 欧美午夜免费电影| 亚洲欧美网站| 国产综合视频| 免费毛片一区二区三区久久久| 亚洲人妖在线| 国产精品99免费看 | 欧美a级理论片| 亚洲精品小视频在线观看| 欧美日韩国产一中文字不卡| 亚洲一区精彩视频| 国产亚洲精品美女| 美女视频黄a大片欧美| 亚洲精品一区在线观看香蕉| 欧美午夜电影网| 欧美一级黄色网| 影音先锋日韩有码| 欧美精品在线观看91| 亚洲一区免费观看| 国产在线拍偷自揄拍精品| 蜜桃视频一区| 亚洲视频在线观看三级| 国产亚洲欧美一区在线观看| 蜜桃av噜噜一区| 一区二区三区精品视频| 欧美一区二区私人影院日本 | 国产一区二区三区在线观看视频| 久久中文字幕导航| 99热在线精品观看| 国产毛片精品国产一区二区三区| 久久午夜国产精品| 9久re热视频在线精品| 国产日韩精品在线| 欧美大片在线影院| 欧美一区二区三区精品| 亚洲国产高潮在线观看| 国产精品国产三级国产专播品爱网| 久久精品一区蜜桃臀影院| 亚洲精品一二三区| 国产亚洲精品久久久久久| 欧美国产一区视频在线观看| 亚洲免费中文字幕| 亚洲国产精品999| 国产精品一区二区在线观看不卡 | 狠狠色伊人亚洲综合成人| 欧美日韩黄视频| 久久国产乱子精品免费女 | 亚洲毛片av在线| 国产视频一区二区三区在线观看| 欧美成人有码| 欧美在线不卡| 日韩亚洲欧美中文三级| 国产一区二区剧情av在线| 欧美日韩免费网站| 久久裸体视频| 亚洲一区影院| 亚洲精品看片| 国模套图日韩精品一区二区| 亚洲欧美国产不卡| 野花国产精品入口| 国产精品久久久爽爽爽麻豆色哟哟| 欧美一区二区精品| 亚洲激情在线播放| 国产精品亚洲综合色区韩国| 狼人天天伊人久久| 亚洲在线一区二区| 亚洲欧洲三级电影| 国产日韩高清一区二区三区在线| 欧美激情在线狂野欧美精品| 久久精品国产在热久久| 一本色道久久综合精品竹菊| 狠狠干综合网| 国产精品第十页| 欧美激情一区二区三区| 久久精品五月| 亚洲一区二区四区| 亚洲精品国产精品国自产观看| 国产自产在线视频一区 | 国产精品视频不卡| 欧美日韩成人网| 免费看黄裸体一级大秀欧美| 欧美在线播放高清精品| 一区二区三欧美| 亚洲黄色精品| 一区二区亚洲欧洲国产日韩| 国产麻豆91精品| 国产精品高潮粉嫩av| 欧美精品一区视频| 麻豆亚洲精品| 久久久久国产精品厨房| 香港久久久电影| 亚洲欧美经典视频| 亚洲午夜久久久| 一区二区三区四区国产| 日韩视频中午一区| 亚洲人成在线播放| 亚洲国产精彩中文乱码av在线播放| 激情五月综合色婷婷一区二区| 国产亚洲福利一区| 国产日韩欧美成人| 国产精品亚洲产品| 国产精品系列在线播放| 国产精品高清免费在线观看| 欧美日韩一区二区三区视频| 欧美绝品在线观看成人午夜影视| 欧美成人情趣视频| 欧美1区2区视频| 欧美成人69av| 欧美黄色大片网站| 欧美黑人多人双交| 亚洲国产婷婷香蕉久久久久久99| 国产亚洲欧美激情| 国产午夜精品全部视频播放| 国产午夜精品在线| 黄色精品一区| 亚洲高清三级视频| 亚洲精品国产拍免费91在线| 亚洲日产国产精品|