vue+element 實現下拉框共享options

背景

用戶的需求總是多樣的,這不用戶想做個下拉連選,每選一個基金,下方表格多一行,選擇對應的重要性,任務;
在這里插入圖片描述

問題

其他都好弄,任務是遠程搜索,選擇人的單選下拉,如果每個下拉都對應獨立的options,那真是維護災難,本身這也是動態的,而且感覺也完全沒必要;嘗試所有任務下拉使用同一個options對象;

核心代碼

  • template
<el-table-column label="任務B角"><template slot-scope="scope"><el-selectv-model="scope.row.taskB"placeholder="請選擇"filterableremoteclearable:remote-method="queryUsers"@change="userSelectChange($event,scope.row.investFundId,'taskB')"><el-optionv-for="item in userOptions":key="item.userId":label="item.userName":value="item.userId"/></el-select></template></el-table-column>
  • js
<script>
export default {data () {return {userOptions: [] // / 共享options}},watch: {value: {handler (newVal) {if (newVal != null && newVal.length > 0) {this.initPage(newVal)}},deep: true}},methods: {userSelectChange (userId, investId, key) {this.$nextTick(() => {this.userOptions = this.mergeUserArrays(this.userOptions, [])})},queryUsers (keyword) {const param = new URLSearchParams()param.append('key', keyword || '')getAllCreateHumans(param).then(res => {this.userOptions = res?.data ?? []})},mergeUserArrays (arr1, arr2) {const map = new Map();// 遍歷第二個數組(后合并的數組,優先保留)[...arr2 ?? [], ...arr1 ?? []].forEach(user => {map.set(user.userId, user) // 后設置的會覆蓋前面的})return Array.from(map.values())}}
}
</script>
  • element的select,在搜索時,下拉展示的是接口返回列表,感覺并沒有真正修改options,當選中后,會把選中項添加入options中;
  • 當有多個下拉選擇同一個用戶時,options中會出現重復項,這就需要去重
  • 去重時機比較重要,要在select添加完選中項之后,否則去重代碼沒有效果;因此代碼中使用了$nextTick

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/93950.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/93950.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/93950.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

centos服務器安裝minio

1.創建目錄和下載文件 #創建相關文件夾 mkdir -p /home/minio mkdir -p /home/minio/bin mkdir -p /home/minio/data#進入上面創建的bin目錄下 cd /home/minio/bin#下載minio&#xff08;最新版minio無法通過頁面的控制臺配置accesskey建議選擇2024年的版本操作&#xff09; ht…

【云故事探索】NO.16:阿里云彈性計算加速精準學 AI 教育普惠落地

智能精準學寒雪老師 X 阿里云彈性計算&#xff1a;以堅實算力底座&#xff0c;實現 AI 一對一教育普惠的愿景 【導語】 當全球首個 K12 教育超級智能體“寒雪老師”在深夜為萬千學子答疑解惑&#xff0c;支撐其流暢互動的&#xff0c;是阿里云彈性計算 15 年淬煉的堅實算力底座…

forge篇——配置

從這篇文章開始,我們開始研究forge代碼,以下是forge源代碼和代碼解析 ForgeConfigSpec 類詳細解析 ForgeConfigSpec 是 Minecraft Forge 模組開發中的核心配置類,基于 NightConfig 庫實現,提供了類型安全、驗證和自動糾正功能。以下是關鍵部分的詳細解釋: 1. 類定義與基…

全新發布|知影-API風險監測系統V3.3,AI賦能定義數據接口安全新坐標

7月31日&#xff0c;全知科技「知影-API風險監測系統V3.3」版本正式上線。在版本發布直播中&#xff0c;全知科技資深產品經理裴向南系統講解了V3.3版本的核心亮點、能力升級與后續產品規劃方向。作為全知科技自主研發的核心產品&#xff0c;「知影-API風險監測系統」自2017年起…

動作捕捉技術重塑具身智能開發:高效訓練與精準控制的新范式

具身智能&#xff08;Embodied AI&#xff09;是指智能體通過與環境交互實現感知、學習和決策的能力&#xff0c;其核心在于模擬人類或生物的形態與行為。具身智能的發展意義在于突破傳統AI的局限性&#xff0c;使機器能夠適應復雜多變的真實場景&#xff0c;從而在工業制造、醫…

【Andriod Studio】勾選不了Android SDK,提示unavailable

首先&#xff0c;直接說結論——網絡&#xff08;代理&#xff09;有問題 先看第一個文章里面說的&#xff0c;https://blog.csdn.net/weixin_53485880/article/details/128200878 要確定自己沒有開啟代理&#xff08;就是Set proxy里選cancel&#xff09;&#xff0c;安裝SDK…

數據結構與算法——字典(前綴)樹的實現

參考視頻&#xff1a;左程云--算法講解044【必備】前綴樹原理和代碼詳解 類實現&#xff1a; class Trie {private:class TrieNode {public:int pass;int end;vector<TrieNode*> nexts;TrieNode(): pass(0), end(0), nexts(26, nullptr) {}};TrieNode* root; // 根指針…

STORM代碼閱讀筆記

默認的 分辨率是 [160,240] &#xff0c;基于 Transformer 的方法不能做高分辨率。 Dataloader 輸入是 帶有 pose 信息的 RGB 圖像 eval datasets ## 采樣幀數目 20 num_max_future_frames int(self.timespan * fps) ## 每次間隔多少個時間 timesteps 取一個context image n…

2025電賽G題-發揮部分-參數自適應FIR濾波器

&#xff08;1&#xff09;測評現場提供由RLC元件&#xff08;各1個&#xff09;組成的“未知模型電路”。 按照圖3所示&#xff0c;探究裝置連接該電路的輸入和輸出端口&#xff0c;對該電路進行 自主學習、建模&#xff08;不可借助外部測試設備&#xff09;&#xff0c;2分鐘…

Linux基礎 -- 內核快速向用戶態共享內核變量方案之ctl_table

系統化、可直接上手的 /proc/sys sysctl 接口使用文檔。內容涵蓋&#xff1a;機制原理、適用場景、ctl_table 字段詳解、常用解析器&#xff08;proc_handler&#xff09;完整清單與選型、最小樣例到進階&#xff08;范圍校驗、毫秒→jiffies、字符串、數組、每網絡命名空間&a…

【RH124知識點問答題】第3章 從命令行管理文件

1. 怎么理解“Linux中一切皆文件”&#xff1f;Linux是如何組織文件的&#xff1f;&#xff08;1&#xff09;“Linux中一切皆文件”的理解和文件組織&#xff1a;在Linux中&#xff0c;“一切皆文件”指的是Linux將各種設備、目錄、文件等都視為文件對象進行管理。這種統一的文…

練習javaweb+mysql+jsp

只是簡單的使用mysql、簡單的練習。 有很多待完善的地方&#xff0c;比如list的servlet頁面&#xff0c;應該判斷有沒有用戶的。 比如list.jsp 應該循環list而不是寫死 index.jsp 樣式可以再優化一下的。比如按鈕就特丑。 本文展示了一個簡單的MySQL數據庫操作練習項目&#x…

使用Nginx部署前端項目

使用Nginx部署前端項目 一、總述二、具體步驟 2.1解壓2.2將原來的html文件夾的文件刪除&#xff0c;將自己的靜態資源文件放進去&#xff0c;點擊nginx.exe文件啟動項目2.3查看進程中是否有ngix的兩個進程在瀏覽器中輸入“localhost:端口號”即可訪問。 2.4端口被占用情況處理 …

【論文學習】KAG論文翻譯

文章目錄KAG: Boosting LLMs in Professional Domains via Knowledge Augmented Generation摘要1 引言2 方法論2.1 LLM友好型知識表示2.2 互索引機制2.2.1 語義分塊2.2.2 帶豐富語境的的信息抽取2.2.3 領域知識注入與約束2.2.4 文本塊向量與知識結構的相互索引2.3 邏輯形式求解…

24黑馬SpringCloud安裝MybatisPlus插件相關問題解決

目錄 一、前言 二、菜單欄沒有Other 三、Config Database里的dburl需要加上時區等配置 一、前言 在學習24黑馬SpringCloud的MybatisPlus-12.拓展功能-代碼生成器課程時&#xff0c;發現由于IDEA版本不同以及MybatisPlus版本更新會出現與視頻不一致的相關問題&#xff0c;本博…

人工智能賦能聚合物及復合材料模型應用與實踐

近年來&#xff0c;生成式人工智能&#xff08;包括大語言模型、分子生成模型等&#xff09;在聚合物及復合材料領域掀起革命性浪潮&#xff0c;其依托數據驅動與機理協同&#xff0c;從海量數據中挖掘構效關系、通過分子結構表示&#xff08;如 SMILES、BigSMILES&#xff09;…

MyBatis-Plus3

一、條件構造器和常用接口 1.wapper介紹 MyBatis-Plus 提供了一套強大的條件構造器&#xff08;Wrapper&#xff09;&#xff0c;用于構建復雜的數據庫查詢條件。Wrapper 類允許開發者以鏈式調用的方式構造查詢條件&#xff0c;無需編寫繁瑣的 SQL 語句&#xff0c;從而提高開…

GXP6040K壓力傳感器可應用于醫療/汽車/家電

GXP6040K 系列壓力傳感器是一種超小型&#xff0c;為設備小型化做出貢獻的高精度半導體壓力傳感器&#xff0c;適用于生物醫學、汽車電子、白色家電等領域。采用標準的SOP6 和 DIP6 封裝形式&#xff0c;方便用戶進行多種安裝方式。 內部核心芯片是利用 MEMS&#xff08;微機械…

Android ConstraintLayout 使用詳解

什么是 ConstraintLayoutConstraintLayout&#xff08;約束布局&#xff09;是 Android Studio 2.2 引入的一種新型布局&#xff0c;現已成為 Android 開發中最強大、最靈活的布局管理器之一。它結合了 RelativeLayout 的相對定位和 LinearLayout 的線性布局優勢&#xff0c;能…

Unity3D數學第三篇:坐標系與變換矩陣(空間轉換篇)

Unity3D數學第一篇&#xff1a;向量與點、線、面&#xff08;基礎篇&#xff09; Unity3D數學第二篇&#xff1a;旋轉與歐拉角、四元數&#xff08;核心變換篇&#xff09; Unity3D數學第三篇&#xff1a;坐標系與變換矩陣&#xff08;空間轉換篇&#xff09; Unity3D數學第…