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 }

 


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

更多相關文章
  • 眾所周知,JavaScript核心包含Data()構造函數,用來創建表示時間和日期的對象。 今天主要跟大家梳理一下,常用的時間、日期處理方法,方便大家使用和理解 格式化時間 老生常談,大概會這麼寫 1234567891011 var format = function (time) { var y ...
  • 代碼: <img src="images/001.jpg" alt="pic" onmouseover="this.src='images/001.jpg';" onmouseout="this.src='images/002.jpg';"/> ...
  • 作者:Dmitri Pavlutin 譯者:小維FE 原文:dmitripavlutin.com 國外文章,筆者採用意譯的方式,以保證文章的可讀性。 當執行像數據獲取這樣的I/O操作時,你必鬚髮起獲取請求,等待響應,將響應數據保存到組件的狀態中,最後渲染。非同步的數據獲取會要求額外的工作來適應Reac ...
  • 塊級作用域: ES6允許你使用塊級作用域,不過目前大多數的ES6語法只允許在嚴格模式下使用("use strict” )。 1 let關鍵字 作用:聲明變數,一個花括弧就是一個作用域(每個花括弧內就是全新變數). 特點:不在進行聲明提升,在塊作用域外無法訪問變數,和const一樣只能聲明一次. 關鍵 ...
  • 編輯表格輸入內容、根據input輸入框輸入數字動態生成表格行數、編輯表格內容提交傳給後臺數據處理 記錄自己學習做的東西,寫的小demo,希望對大家也有幫助! 代碼如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></tit ...
一周排行
x