vue動態迴圈出的多個select出現過的變為disabled

来源:https://www.cnblogs.com/zaijin-yang/archive/2019/11/08/11820843.html

1 <template> 2 <div class="artcle"> 4 <el-form 5 label-width="100px" 6 :model="testForm"> 7 <el-form-item 8 v-for="(vtem, index) in testForm.version" ...


 1 <template>
 2     <div class="artcle">
 4       <el-form
 5         label-width="100px"
 6         :model="testForm">
 7         <el-form-item
 8           v-for="(vtem, index) in testForm.version"
 9           :key="index"
10           label="命令版本">
11           <el-select
12             @change="comChange"
13             v-model="vtem.ver">
14             <el-option
15               v-for="item in versionList"
16               :key="item.id"
17               :value="item.id"
18               :disabled="item.id == vtem.ver || selectedArr.includes(item.id)"
19               :label="item.name">
20             </el-option>
21           </el-select>
22           <el-button
23             icon="el-icon-circle-plus-outline"
24             size="small"
25             @click="add(index)"
26             circle></el-button>
27           <el-button
28             icon="el-icon-remove-outline"
29             size="small"
30             @click="remove(index)"
31             :disabled="index === 0"
32             circle></el-button>
33         </el-form-item>
34         <el-form-item
35           label="測試輸入框">
36           <el-input
37             v-model="testForm.input"></el-input>
38         </el-form-item>
39       </el-form>
40     </div>
41 </template>
 1 export default {
 2   name: 'home',
 3   data () {
 4     return {
 5       selectedArr: [], // 作為判斷是否重覆的數組
 6       testForm: {
 7         version: [
 8           { ver: '' }
 9         ],
10         input: ''
11       },
12       versionList: [
13         { id: 1, name: '1.1' },
14         { id: 2, name: '1.2' },
15         { id: 3, name: '1.3' }
16       ]
17     }
18   },
19   methods: {
20     add () {
21       let version = this.testForm.version
22       if (version.length < this.versionList.length) {
23         this.testForm.version.push({
24           ver: ''
25         })
26       } else {
27         alert('命令版本就三條')
28       }
29     },
30     remove (index) {
31       this.selectedArr.splice(index, 1)
32       this.testForm.version.splice(index, 1)
33     },
34   // 下拉改變時 
35     comChange (index) {
36       this.selectedArr = []
37       for (let item of this.testForm.version) {
38         if (item.ver) {
39           this.selectedArr.push(item.ver)
40         }
41       }
42     }
43   }
44 }

 


您的分享是我們最大的動力!

更多相關文章
  • --查詢資料庫鎖表記錄 select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao ...
  • begin try 語句 end trybegin catch --ERROR_NUMBER() 返回錯誤號。 --ERROR_SEVERITY() 返回嚴重性。 --ERROR_STATE() 返回錯誤狀態號。 --ERROR_PROCEDURE() 返回出現錯誤的存儲過程或觸發器的名稱。 --E ...
  • 跨平臺開發是當下最受歡迎、應用最廣泛的框架之一。能實現跨平臺開發的框架也五花八門,讓人眼花繚亂。最流行的跨平臺框架有 Xamarin、PhoneGap、Ionic、Titanium、Monaca、Sencha、jQuery Mobile、React native、Flutter 等等。但這些工具的表 ...
  • 效果圖 修改思路 1、增加全局控制變數 sys.launcher3.is_full_app ,用來動態切換 2、增加兩套佈局,對應有抽屜和無抽屜 3、去除 allAppsButton 4、將 AllAppsContainerView 中的圖標載入到 Workspace 5、新安裝的 app 自動添加 ...
  • 一、父組件向子組件傳遞數據 1、首先形成父子組件關係 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="../js/vue.js"></script> ...
  • 前言 老闆的手機收到一個紅包,為什麼紅包沒居中? 如何讓一個子元素在父容器里 水平垂直居中 ?這個問題必考,在實戰開發中,也應用得非常多。 你也許能順手寫出好幾種實現方法。但大部分人的寫法不夠規範,經不起千錘百煉。換句話說:這些人也就面試的時候誇誇其談,但真的上戰場的時候,他們不敢這麼寫,也不知道怎 ...
  • <!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>sakura</title> <style> body { padding:0; margin:0; overflow:hidden; height: 600px; ...
  • web前端開發 一個XML的簡單應用 代碼如下: 1 <?xml version="1.0" encoding="utf-8"?> 2 3 <svg width="500" height="300" xmlns="http://www.w3.org/2000/svg"> 4 <! > 5 <rect ...
一周排行
  • C#中的DefaultView方法 簡介: 首先可建立一個表,對錶進行填充若幹條數據,代碼如下: //創建Table1 DataTable dt = new DataTable(); //對Table1添加列名,並設置列值類型 DataTable dt1 = new DataTable();//創建 ...
  • 1、運行程式報錯: FailFast: Couldn't find a valid ICU package installed on the system. 解決方法: yum install icu -y 2、程式運行後,本地可以訪問,但其他機器無法訪問,需要開放埠 firewall-cmd - ...
  • 只是一個Demo,所用有很多功能也沒有添加進去如分頁,輸入驗證,頁面也沒有進行精心佈局。 整體先來幾張圖解 ...
  • Core提供二種開發模式:Core Pages和Core MVC,今天介紹的是Core MVC。 1、創建web MVC項目 新建service/h_r.baseservice類庫文件、data/h_r.efdata類庫文件、common/h_r.common類庫文件。 引入需要的CSS文件和JS文 ...
  • 學習網址:https://docs.microsoft.com/zh-cn/visualstudio/get-started/visual-studio-ide?view=vs-2019 示範 vs2019: 變數的重命名的重構,更改該變數命名的同時,引用該變數的地方也會更改,如果該變數有被反射用到 ...
  • 1、在data裡面新建個Entity文件用於存放表映射,設計資料庫,執行如下語句 Scaffold-DbContext -Force "server=.;user=sunyong;password=1qaz!QAZ;database=hr;" Microsoft.EntityFrameworkCor ...
  • 1、發送郵件類,百度一大堆,這裡用的也是直接百度拿過來的 public static bool get_send_email(email email, string Title, string Body) { MailMessage mailMsg = new MailMessage(); mail ...
  • 1、添加用戶列表控制器,用於用戶列表顯示,登錄,增刪改查,郵件發送,下載 public userlistController(MainDbContext _db, ILogger<operatorlog> _logger, IOptions<email> sendMail) { db = _db; ...
  • 1、用戶列表頁面 @{ Layout = Layout = null;}<table id="datalistuser" class="easyui-datagrid" url="/userlist/getuserlist" toolbar="#toolbaruser" rownumbers="tr ...
  • 1、引用包 Microsoft.EntityFrameworkCore.Tools Microsoft.EntityFrameworkCore.SqlServer Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation Microsoft.AspNetCo ...