色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

vue自定義級聯菜單

徐蘭芬1年前5瀏覽0評論

Vue自定義級聯菜單是一種靈活且高效的方式來實現多級聯動下拉菜單。下面我們將通過代碼演示如何使用Vue自定義級聯菜單。

// 級聯菜單的數據源
const data = [
{
label: '選項 1',
value: '1',
children: [
{
label: '選項 1-1',
value: '1-1'
},
{
label: '選項 1-2',
value: '1-2',
children: [
{
label: '選項 1-2-1',
value: '1-2-1'
},
{
label: '選項 1-2-2',
value: '1-2-2'
}
]
}
]
},
{
label: '選項 2',
value: '2'
},
{
label: '選項 3',
value: '3',
children: [
{
label: '選項 3-1',
value: '3-1'
}
]
}
]
// 自定義級聯菜單組件
Vue.component('cascade-menu',{
data() {
return {
// 當前選擇的值
selectedValues: [],
// 當前級聯菜單的數據源
dataSource: data,
// 當前選中的菜單項
selectedItem: {}
}
},
methods: {
// 切換級聯菜單
onSelect(item, index) {
this.selectedItem = item
this.selectedValues.splice(index + 1, this.selectedValues.length - 1, item.value)
if (item.children) {
this.dataSource = item.children
} else {
this.dataSource = data
}
},
// 觸發選中事件
onSubmit() {
this.$emit('onSubmit', this.selectedValues)
}
},
template: `
<div>
<div v-for="(item, index) in selectedValues" :key="index" style="display:inline-block;margin-right:20px;">
{{ item }}
</div>
<button @click="onSubmit">提交</button>
<ul>
<li v-for="item in dataSource" :key="item.value" @click="onSelect(item, selectedValues.length - 1)">{{ item.label }}</li>
</ul>
</div>
`
})
// 使用自定義級聯菜單組件
new Vue({
el: '#app',
methods: {
onSubmit(selectedValues) {
alert(selectedValues)
}
},
template: `
<cascade-menu @onSubmit="onSubmit"></cascade-menu>
`
})

以上代碼實現了一個簡單的級聯菜單,當點擊菜單項時,會觸發onSelect方法,切換下一級菜單的數據源。當點擊提交按鈕時,會觸發onSubmit方法,并將當前選中的值作為參數傳遞給父組件。