vue父列表數(shù)據(jù)獲取子列表數(shù)據(jù)的實(shí)現(xiàn)步驟
概述
本文檔將介紹如何通過(guò)點(diǎn)擊父列表(表格)中的數(shù)據(jù)行來(lái)獲取到子列表(表格)的數(shù)據(jù)。代碼示例是基于Vue框架實(shí)現(xiàn)的一個(gè)組件,包含了父列表和子列表,通過(guò)點(diǎn)擊父列表的數(shù)據(jù)行來(lái)動(dòng)態(tài)獲取子列表的數(shù)據(jù)。
實(shí)現(xiàn)步驟
以下是通過(guò)點(diǎn)擊父列表數(shù)據(jù)行獲取子列表數(shù)據(jù)的具體實(shí)現(xiàn)步驟:
1. 設(shè)置父列表選中事件
在父組件的代碼中,定義一個(gè)selectedRowKeys數(shù)組用于存儲(chǔ)選中的父列表行的id。在父列表的模板代碼中,使用rowSelection屬性來(lái)設(shè)置行選中事件onSelectChange,并將selectedRowKeys數(shù)組綁定到父列表的rowSelection屬性的selectedRowKeys。
<template>
<a-table
:rowSelection="rowSelection"
...
>
...
</a-table>
</template>
<script>
export default {
...
data() {
return {
selectedRowKeys: [] // 用于存儲(chǔ)選中的父列表行的id
};
},
methods: { o
nSelectChange(selectedRowKeys) {
this.selectedRowKeys = selectedRowKeys; // 更新選中的父列表行的id // 執(zhí)行其他操作,例如獲取子列表數(shù)據(jù)
},
...
}
}
</script>2. 子列表綁定父列表變化事件
在子組件的模板代碼中,將父列表的rowKey設(shè)置為父列表數(shù)據(jù)對(duì)象中的唯一標(biāo)識(shí)符(例如id)。監(jiān)聽(tīng)父列表的變化事件@change,并將選中的父列表行的id作為參數(shù)傳遞給子組件的方法(例如doGetSkuList)。
<template>
<a-table
...
:rowKey="record => record.id" // 設(shè)置父列表數(shù)據(jù)對(duì)象的唯一標(biāo)識(shí)符
@change="doGetSkuList(selectedRowKeys[0])" // 將選中的父列表行的id作為參數(shù)傳遞給子組件方法
...
>
...
</a-table>
</template>
<script>
export default {
...
methods: {
doGetSkuList(parentId) {
// 根據(jù)父列表行的id獲取子列表數(shù)據(jù)
},
...
}
}
</script>3. 父列表點(diǎn)擊事件傳遞給子組件
在父組件的模板代碼中,通過(guò)customRow屬性將子組件的方法(例如clickThenCheck)綁定到父列表的customRow上。當(dāng)點(diǎn)擊父列表的數(shù)據(jù)行時(shí),會(huì)調(diào)用子組件的方法。
<template>
<a-table
:customRow="clickThenCheck"
...
>
...
</a-table>
</template>
<script>
export default {
...
methods: {
clickThenCheck(record) { r
eturn {
on: { click: () => {
this.onSelectChange([record.id]); // 將點(diǎn)擊的父列表行的id傳遞給父組件的方法
}
}
};
},
...
}
}
</script>4. 子組件更新子列表數(shù)據(jù)
在子組件的方法(例如doGetSkuList)中,根據(jù)傳遞過(guò)來(lái)的父列表行的id發(fā)送請(qǐng)求,獲取對(duì)應(yīng)的子列表的數(shù)據(jù),并更新子組件的數(shù)據(jù)。
<template>
<a-table
:dataSource="sku.data"
...
>
...
</a-table>
</template>
<script>
export default {
...
methods: {
doGetSkuList(parentId) {
// 根據(jù)父列表行的id發(fā)送請(qǐng)求,獲取對(duì)應(yīng)的子列表數(shù)據(jù) // 更新子組件的數(shù)據(jù)
this.sku.data = [
/* 子列表數(shù)據(jù) */
];
},
...
}
}
</script>通過(guò)以上步驟,即可實(shí)現(xiàn)通過(guò)點(diǎn)擊父列表數(shù)據(jù)行來(lái)獲取子列表數(shù)據(jù)的功能。當(dāng)點(diǎn)擊父列表的數(shù)據(jù)行時(shí),會(huì)觸發(fā)父組件的方法,更新選中的父列表行的id,并將id傳遞給子組件的方法,子組件根據(jù)id獲取對(duì)應(yīng)的子列表數(shù)據(jù),并更新子組件的數(shù)據(jù)。
到此這篇關(guān)于vue列表-父列表數(shù)據(jù)獲取子列表數(shù)據(jù)的文章就介紹到這了,更多相關(guān)vue父列表數(shù)據(jù)獲取子列表數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Vue+elementUI實(shí)現(xiàn)動(dòng)態(tài)展示列表的數(shù)據(jù)
- vue?使用el-table循環(huán)輪播數(shù)據(jù)列表的實(shí)現(xiàn)
- vue實(shí)現(xiàn)動(dòng)態(tài)列表尾部添加數(shù)據(jù)執(zhí)行動(dòng)畫(huà)
- vue如何從后臺(tái)獲取數(shù)據(jù)生成動(dòng)態(tài)菜單列表
- Vue3 列表界面數(shù)據(jù)展示詳情
- 使用Vue3進(jìn)行數(shù)據(jù)綁定及顯示列表數(shù)據(jù)
- vue列表數(shù)據(jù)刪除后主動(dòng)刷新頁(yè)面及刷新方法詳解
- vue2.0實(shí)現(xiàn)列表數(shù)據(jù)增加和刪除
- Vue如何獲取數(shù)據(jù)列表展示
- vue input輸入框關(guān)鍵字篩選檢索列表數(shù)據(jù)展示
相關(guān)文章
Vuex利用state保存新聞數(shù)據(jù)實(shí)例
本篇文章主要介紹了Vuex利用state保存新聞數(shù)據(jù)實(shí)例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06
去除Element-Plus下拉菜單邊框的實(shí)現(xiàn)步驟
Element-Plus 是 Element UI 的 Vue 3 版本,它提供了一套完整的組件庫(kù),在使用 Element-Plus 進(jìn)行開(kāi)發(fā)時(shí),我們可能會(huì)遇到需要自定義組件樣式的情況,本文將介紹如何使用 CSS 來(lái)去除 Element-Plus 下拉框的邊框,需要的朋友可以參考下2024-03-03
Vue組件設(shè)計(jì)-滾動(dòng)置頂設(shè)計(jì)案例
這篇文章主要介紹了Vue組件設(shè)計(jì)-滾動(dòng)置頂設(shè)計(jì)案例,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04
解決vue路由發(fā)生了跳轉(zhuǎn)但是界面沒(méi)有任何反應(yīng)問(wèn)題
這篇文章主要介紹了解決vue路由發(fā)生了跳轉(zhuǎn)但是界面沒(méi)有任何反應(yīng)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04

