這篇“Vue多選列表組件有什么用”除了程序員外大部分人都不太理解,今天小編為了讓大家更加理解“Vue多選列表組件有什么用”,給大家總結(jié)了以下內(nèi)容,具有一定借鑒價(jià)值,內(nèi)容詳細(xì)步驟清晰,細(xì)節(jié)處理妥當(dāng),希望大家通過(guò)這篇文章有所收獲,下面讓我們一起來(lái)看看具體內(nèi)容吧。
創(chuàng)新互聯(lián)公司2013年至今,先為漢川等服務(wù)建站,漢川等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為漢川企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。Vue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以創(chuàng)建可維護(hù)性和可測(cè)試性更強(qiáng)的代碼庫(kù),Vue允許可以將一個(gè)網(wǎng)頁(yè)分割成可復(fù)用的組件,每個(gè)組件都包含屬于自己的HTML、CSS、JavaScript,以用來(lái)渲染網(wǎng)頁(yè)中相應(yīng)的地方,所以越來(lái)越多的前端開(kāi)發(fā)者使用vue。
多選列表 (Multi-Select) 是一種將所有選項(xiàng)列出,并允許用戶(hù)利用 Ctrl/Shift 鍵進(jìn)行多選的 UI 元素。這是一種常見(jiàn)的設(shè)計(jì)元素。有時(shí)候?yàn)榱斯?jié)省空間,我們會(huì)將選項(xiàng)折疊于 Combo Box 中。為了方便用戶(hù)操作,這個(gè)組件還將添加 Select All 和 Clear All 兩個(gè)按鈕,允許用戶(hù)快速選擇或清除選擇。這個(gè) UI 元素曾被運(yùn)用于 Correlation Plot App 中。
注冊(cè)組件
注冊(cè) Multi-Select 組件,簡(jiǎn)單來(lái)說(shuō)就是復(fù)制粘貼已封裝好的代碼部分。此處建議注冊(cè)全局組件。
設(shè)計(jì)該元素的時(shí)候考慮了兩種模式:第一種是每次點(diǎn)擊新選項(xiàng)將保留舊選項(xiàng)并添加新選項(xiàng),如上述示例圖形。這種是較為常見(jiàn)的一種方式。第二種是每次點(diǎn)擊新選項(xiàng)則清除舊選項(xiàng)僅保留新選項(xiàng)。若使用這種方式進(jìn)行多選,則需要利用Ctrl/Shift鍵。這種設(shè)計(jì)能便于用戶(hù)在每一次的點(diǎn)擊中消除舊選項(xiàng)。若使用第二方式,需要替換事件@click.exact="AddToOrDeleteFromSelectedColumns"
為@click.exact="ClickOnColumnListItem"
<script type="text/x-template" id="multi-select-template"> … <tr v-for = "(item,index) in columns" @click.exact="AddToOrDeleteFromSelectedColumns" @click.shift.exact="AddMultipleToSelectedColumns" @click.ctrl.exact="AddToOrDeleteFromSelectedColumns" :title="function(item){if(item.longname){return 'Short Name: ' + item.name + '\n----------------\n' + item.longname}else{return item.name}}(item)" class="column-list-entry"> ... </tr> </script> <script> Vue.component("multi-select", { template: "#multi-select-template", … </script>
調(diào)用組件
直接添加自定義標(biāo)簽
<multi-select :legend_name="legend_name" :columns="columns" :selected_columns="selected_columns" @update_selected_columns="onSelectedColumnsChange"> </multi-select>
傳遞數(shù)據(jù)
最后還需要對(duì)組件傳遞數(shù)據(jù)。我們可以利用 v-bind 動(dòng)態(tài)綁定數(shù)據(jù)到父級(jí)組件的數(shù)據(jù)中。
props 中 legend_name 綁定 Multi-Select 的所需顯示的名稱(chēng),columns 綁定 Multi-Select 的選項(xiàng), selected_columns 綁定當(dāng)前的已選項(xiàng)。另外我們還需要在父級(jí)實(shí)例中定義事件 “onSelectedColumnsChange”,用于刷新 Multi-Select 組件的顯示。
data: function(){ return { legend_name: "Input Columns", columns: [ {"name":"A","longname":"Copper"}, {"name":"B","longname":"Aluminum Aluminum"}, {"name":"C","longname":"Calcium"}, {"name":"D","longname":"Calcium"}, ], selected_columns: [], } }, ... methods:{ onSelectedColumnsChange:function(new_columns) { this.selected_columns = new_columns; }, },
感謝你的閱讀,希望你對(duì)“Vue多選列表組件有什么用”這一關(guān)鍵問(wèn)題有了一定的理解,具體使用情況還需要大家自己動(dòng)手實(shí)驗(yàn)使用過(guò)才能領(lǐng)會(huì),快去試試吧,如果想閱讀更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)站標(biāo)題:Vue多選列表組件有什么用-創(chuàng)新互聯(lián)
分享URL:http://jinyejixie.com/article38/hihpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計(jì)、做網(wǎng)站、電子商務(wù)、網(wǎng)頁(yè)設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容