日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > vue >内容正文

vue

vue动态生成下拉框_vue+elementui 动态创建下拉框

發(fā)布時(shí)間:2023/12/1 vue 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue动态生成下拉框_vue+elementui 动态创建下拉框 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

v-for="(domain, index) in dynamicValidateForm.domains"

:label="‘站點(diǎn)‘ + index"

:key="domain.id"

>

v-for="item in testData"

:key="item.id"

:label="item.testName"

:value="item.id"

:disabled="item.disabled">

style="height: auto"

:value="domain.colName">

刪除

@click="addDomain">添加站點(diǎn)

測(cè)試

export default {

name: "PushManagement",

data(){

return {

dynamicValidateForm: {

domains: [{

colName: ‘‘, // 欄目名稱

id: null, // 站點(diǎn)id

colId: null, // 欄目id

children: [] // 站點(diǎn)下的欄目列表

}],

},

testSiteId: null,

defaultProps: {

children: ‘children‘,

label: ‘name‘

},

testData: [{

testName: ‘站點(diǎn)一‘,

id: 1,

children: [{

name: ‘欄目一‘,

colId: 11

},{

name: ‘欄目二‘,

colId: 12,

children: [{

name: ‘欄目二 - 子欄目‘,

colId: 121,

}]

}]

},{

testName: ‘站點(diǎn)二‘,

id: 2,

children: [{

name: ‘欄目三‘,

colId: 21

},{

name: ‘欄目四‘,

colId: 22,

children: [{

name: ‘欄目四 - 子欄目‘,

colId: 221,

}]

}]

},{

testName: ‘站點(diǎn)三‘,

id: 3,

children: [{

name: ‘欄目五‘,

colId: 31

},{

name: ‘欄目六‘,

colId: 32,

children: [{

name: ‘欄目六 - 子欄目‘,

colId: 321,

}]

}]

}],

// 回顯站點(diǎn) 欄目

echoSiteData: [{

id: 2,

colId: 21,

colName: "欄目三"

}, {

id: 3,

colId: 321,

colName: "欄目六 - 子欄目"

}]

}

},

methods: {

submitForm(formName) {

this.$refs[formName].validate((valid) => {

if (valid) {

alert(‘submit!‘);

console.log(this.dynamicValidateForm)

} else {

console.log(‘error submit!!‘);

return false;

}

});

},

removeDomain(item) {

var index = this.dynamicValidateForm.domains.indexOf(item)

if (index !== -1) {

this.dynamicValidateForm.domains.splice(index, 1)

this.merOrCityChange(this.testData,this.dynamicValidateForm.domains)

}

},

addDomain() {

this.dynamicValidateForm.domains.push({

colName: ‘‘,

id: null,

colId: null,

children: []

});

},

// 欄目點(diǎn)擊 綁定欄目對(duì)應(yīng)的站點(diǎn)id

colSelClick(id){

// console.log(‘點(diǎn)擊欄目‘)

// console.log(id)

this.testSiteId = id

},

// 站點(diǎn)下拉框 改變

testSite(id){

this.testSiteId = id

let testColData = {}

for(let i = 0; i< this.testData.length; i++){

if(this.testData[i].id == id){

testColData = this.testData[i]

}

}

let data = this.dynamicValidateForm.domains

for(let i = 0; i < data.length; i++){

if(data[i].id == testColData.id){

data[i].colName = ‘‘

data[i].colId = null

data[i].children = testColData.children

}

}

// console.log(‘是否存在站點(diǎn)id‘)

// console.log(this.dynamicValidateForm.domains)

this.merOrCityChange(this.testData,this.dynamicValidateForm.domains)

},

// 欄目選擇樹 改變

handleNodeClick(data,node,obj) {

// console.log(‘下拉框‘)

// console.log(data)

// console.log(this.testSiteId)

// console.log( this.dynamicValidateForm)

let arr = this.dynamicValidateForm.domains

for(let i = 0; i < arr.length; i++){

if(arr[i].id == this.testSiteId){

arr[i].colName = data.name;

arr[i].colId = data.colId

}

}

},

// 站點(diǎn) 禁選

merOrCityChange(data,data2){ // data 原始數(shù)據(jù) data2 站點(diǎn)下拉框--站點(diǎn) (必須都是數(shù)組)

let arr = []

if(!data || !data2 || data.length <= 0 || data2.length <= 0)return

for(let i = 0; i < data.length; i++){

for(let j = 0; j < data2.length; j++){

data[i].disabled = false

if(data[i].id == data2[j].id){

arr.push(data[i])

}

}

}

// console.log(‘存在的站點(diǎn)id‘)

// console.log(arr)

if(arr.length > 0){

for(let i = 0; i< data.length; i++){

for(let j = 0; j< arr.length;j++){

if(data[i].id == arr[j].id){

data[i].disabled = true

}

}

}

}

},

// 回顯 站點(diǎn)欄目

echoSite(echoSiteData){

if(echoSiteData.length > 0){

this.dynamicValidateForm.domains = []

for(let i = 0; i

for(let j = 0; j < echoSiteData.length; j++){

if(this.testData[i].id === echoSiteData[j].id){

this.dynamicValidateForm.domains.push({

colName: echoSiteData[j].colName,

id: echoSiteData[j].id,

colId: echoSiteData[j].colId,

children: this.testData[i].children

});

}

}

}

this.merOrCityChange(this.testData,this.dynamicValidateForm.domains)

}

}

},

created(){

this.echoSite(this.echoSiteData)

},

}

總結(jié)

以上是生活随笔為你收集整理的vue动态生成下拉框_vue+elementui 动态创建下拉框的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。