vue中父組件控制子組件的顯示隱藏詳解
需求
父組件點擊新增或者修改時,子組件對話框顯示
子組件的標(biāo)題和確認(rèn)按鈕,根據(jù)父組件單擊按鈕來改變

做法
在子組件內(nèi)部做一個show方法(函數(shù)名隨意),在子組件內(nèi)部定義變量,父組件調(diào)用子組件的show方法,并傳入對應(yīng)的參數(shù),子組件根據(jù)對應(yīng)的參數(shù),給自己組件內(nèi)部的變量賦值
這樣做,而不用props,和emit傳值的方法,優(yōu)點是子組件的顯示隱藏都由子組件自己內(nèi)部變量控制,
如果使用props傳值,還要監(jiān)聽父組件傳過來的值
子組件show方法
/**
* 對話框展示,被父組件調(diào)用
* @param visible 對話框是否可見
* @param title 對話框的標(biāo)題
* @param buttonText 對話框底部確認(rèn)按鈕的文本
* @param type 父組件傳過來的參數(shù),用來判斷是新增還是修改
* @param projectName 項目名稱,修改需要用到
* @param parentTableData 父組件的表格數(shù)據(jù),來做表單驗證,判斷是否重名
*/
show(visible, title, buttonText, type, projectName, parentTableData) {
this.visible = visible
this.innerDialogData.title = title
this.innerDialogData.buttonText = buttonText
this.type = type
this.formInDialog.projectName = projectName
this.tableData = parentTableData
},父組件調(diào)用子組件的方法
<el-button type="primary" size="mini" @click="handleDialogShow('add')">新增</el-button>
<el-button type="warning" size="mini" @click="handleDialogShow('modify')">修改</el-button>
/**
* 單擊新增或修改,dialog出現(xiàn)
* @param value 傳過來的字符串,來判斷點的是哪個
*/
handleDialogShow(value) {
let visible, title, buttonText, type, projectName, parentTableData = this.parentTableData
if (value === 'add') {
visible = true
title = '新建'
buttonText = '新增'
type = 'add'
projectName = ''
} else {
if (this.multipleSelection.length !== 1 || this.multipleSelection.length === 0) {
this.$message.warning('請選擇一個項目進(jìn)行修改')
} else {
visible = true
title = '修改'
buttonText = '保存'
type = 'modify'
projectName = this.multipleSelection[0].name
}
}
this.$refs.addProjectDialog.show(visible, title, buttonText, type, projectName, parentTableData)
},總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
ElementUI 修改默認(rèn)樣式的幾種辦法(小結(jié))
這篇文章主要介紹了ElementUI 修改默認(rèn)樣式的幾種辦法(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
在vue中實現(xiàn)低代碼組件參數(shù)配置的流程步驟
這篇文章主要介紹了在vue中實現(xiàn)低代碼組件參數(shù)配置的流程步驟,文中的代碼示例講解的非常詳細(xì),對我們的學(xué)習(xí)或工作有一定的參考價值,需要的朋友可以參考下2023-07-07
Vue3實現(xiàn)word轉(zhuǎn)成pdf代碼的方法
在Vue 3中,前端無法直接將Word文檔轉(zhuǎn)換為PDF,因為Word文檔的解析和PDF的生成通常需要在后端進(jìn)行這篇文章主要介紹了Vue3實現(xiàn)word轉(zhuǎn)成pdf代碼的方法,需要的朋友可以參考下,2023-07-07
Vue插槽_特殊特性slot,slot-scope與指令v-slot說明
這篇文章主要介紹了Vue插槽_特殊特性slot,slot-scope與指令v-slot說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
vue+element樹組件 實現(xiàn)樹懶加載的過程詳解
這篇文章主要介紹了vue+element樹組件 實現(xiàn)樹懶加載的過程,本文通過圖文實例代碼相結(jié)合給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10
vue3+element?plus實現(xiàn)側(cè)邊欄過程
這篇文章主要介紹了vue3+element?plus實現(xiàn)側(cè)邊欄過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03

