Vue — el-dialog 父子組件,子組件數(shù)據(jù)更新

el-dialog 是 element-ui 的一個對話框 組件

組件:需要設置visible屬性,它接收Boolean脱柱,當為true時顯示 Dialog。

場景:

  1. 子組件中 使用 el-dialog 且 子組件 呈現(xiàn) 服務器返回的列表數(shù)據(jù)拉馋, 父組件觸發(fā)某事件褐捻,顯示子組件對話框。

  2. 子組件每次show出 顯示最新列表椅邓。

存在問題: 子組件 每次show 出 不能去 執(zhí)行created() 函數(shù)柠逞。導致列表為第一次數(shù)據(jù)

原因: 子父組件的生命周期順序

  1. 加載渲染過程
父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount->子mounted->父mounted

  1. 子組件的更新過程
父beforeUpdate->子beforeUpdate->子updated->父updated

  1. 父組件的更新過程
父beforeUpdate->父updated

  1. 銷毀過程
父beforeDestroy->子beforeDestroy->子destroyed->父destroyed

由于 渲染時候,父組件渲染時 - 父組件生命周期執(zhí)行景馁,緊接著子組件也進行渲染執(zhí)行板壮,這時候子組件created() 函數(shù) 已經(jīng)獲取到了列表數(shù)據(jù)。

created() 函數(shù)是 在模板渲染成html前調(diào)用合住,即通常初始化某些屬性值绰精,然后再渲染成視圖撒璧。

所以 再次觸發(fā)父組件事件 ,并不會觸發(fā)渲染子組件 笨使,這時候 created() 函數(shù)中的 更新列表方法 不會執(zhí)行卿樱,列表數(shù)據(jù)仍然為上一次的數(shù)據(jù)。

解決辦法 : 兩種

第一種:父組件中設置 v-if

利用 v-if 實現(xiàn) 子組件主動渲染, 執(zhí)行 created() 函數(shù), 達到更新列表數(shù)據(jù)硫椰。

<div v-if="dialogFormVisible">

// 子組件調(diào)用

  <checkStatis

    :dialog-form-visible="dialogFormVisible"

    :modal-data="modalData"

    @closeBtn="closeModal"

  />

</div>

優(yōu)點: 處理簡單

缺點: 根據(jù)表達式的值的來有條件地渲染元素繁调,采用組件銷毀、重建的方式 靶草。(不是很推薦)切換性能消耗大

第二種:子組件使用 watch 監(jiān)聽

父組件 觸發(fā)子組件開啟時 蹄胰, 設置 時間戳 變量,并傳遞給子組件奕翔,通過props 接收裕寨。

// 父組件事件函數(shù)

handleBtn() {

  this.showTimeNum = +new Date()

}

// 父組件中使用子組件

<subscribe :showTime="showTimeNum"/>

子組件 通過watch 監(jiān)聽 showTime 達到列表更新

// 設置接收類型以及默認值

props: {

  showTime: {

  type: Number,

  default: 0

  }

}

// 子組件 Element

<el-dialog :visible.sync="show" :close-on-click-modal="false"title="子組件對話框"       @close="closeBtn">

...... 列表數(shù)據(jù)展示

</el-dialog>

// 監(jiān)聽 變化 獲取新的列表數(shù)據(jù)

watch: {

  showTime() {

    this.show = true

    this.getList() // 獲取列表方法

  }

},

缺點: 比第一種能麻煩些

優(yōu)點:數(shù)據(jù)驅動dom呈現(xiàn)。

END————————

碼字不易派继,如果喜歡或者對你有絲毫幫助的話宾袜,幫忙點個?? 哈,點贊就是我的動力驾窟。

同時也希望自己能堅持認真的寫下去试和,因為在總結提升自己的同時如果也能幫助更多的前端,那是多么開心的一件事纫普。

小伙伴們 這里有更好的建議或方法阅悍,歡迎評論,謝謝昨稼。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
禁止轉載节视,如需轉載請通過簡信或評論聯(lián)系作者。
  • 序言:七十年代末假栓,一起剝皮案震驚了整個濱河市寻行,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌匾荆,老刑警劉巖拌蜘,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異牙丽,居然都是意外死亡简卧,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門烤芦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來举娩,“玉大人,你說我怎么就攤上這事⊥妫” “怎么了智玻?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長芙代。 經(jīng)常有香客問我吊奢,道長,這世上最難降的妖魔是什么纹烹? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任页滚,我火速辦了婚禮,結果婚禮上滔韵,老公的妹妹穿的比我還像新娘。我一直安慰自己掌实,他們只是感情好陪蜻,可當我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著贱鼻,像睡著了一般宴卖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上邻悬,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天症昏,我揣著相機與錄音,去河邊找鬼父丰。 笑死肝谭,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的蛾扇。 我是一名探鬼主播攘烛,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼镀首!你這毒婦竟也來了坟漱?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤更哄,失蹤者是張志新(化名)和其女友劉穎芋齿,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡仑扑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年温圆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惠拭。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出职辅,到底是詐尸還是另有隱情棒呛,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布域携,位于F島的核電站簇秒,受9級特大地震影響,放射性物質發(fā)生泄漏秀鞭。R本人自食惡果不足惜趋观,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望锋边。 院中可真熱鬧皱坛,春花似錦、人聲如沸豆巨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽往扔。三九已至贩猎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間萍膛,已是汗流浹背吭服。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蝗罗,地道東北人艇棕。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像串塑,于是被迫代替她去往敵國和親欠肾。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 今天感恩節(jié)哎拟赊,感謝一直在我身邊的親朋好友刺桃。感恩相遇!感恩不離不棄吸祟。 中午開了第一次的黨會瑟慈,身份的轉變要...
    迷月閃星情閱讀 10,551評論 0 11
  • 彩排完,天已黑
    劉凱書法閱讀 4,187評論 1 3
  • 表情是什么屋匕,我認為表情就是表現(xiàn)出來的情緒葛碧。表情可以傳達很多信息。高興了當然就笑了过吻,難過就哭了进泼。兩者是相互影響密不可...
    Persistenc_6aea閱讀 124,209評論 2 7