欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于Vue實(shí)現(xiàn)消息提示功能

 更新時(shí)間:2024年10月24日 11:06:58   作者:陌路物是人非  
這篇文章主要為大家詳細(xì)介紹了如何基于Vue實(shí)現(xiàn)簡(jiǎn)單的消息提示功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

1.首先要先定義消息提示的組件,在這個(gè)組件中需要實(shí)現(xiàn)自動(dòng)關(guān)閉的功能(看自己的愛好唄),并且設(shè)置自己喜歡的樣式,vue中還有可以自定義進(jìn)場(chǎng)和退場(chǎng)動(dòng)畫的樣式(就是那個(gè)v-enter-active和v-leave-active)。這里還可以通過(guò)definePorps在外部設(shè)置屬性值

<template>
    <div class="message" v-if="display">
 
        <div class="content">
            <div>Message組件實(shí)例</div>
            <div class="close" @click="close">X</div>
        </div>
 
    </div>
 
 
</template>
<script setup>
    import { ref, onMounted } from 'vue';
    let display = ref(false);
    function close() {
        display.value = false
    }
    onMounted(() => {
        display.value = true;
        setTimeout(() => {
            display.value = false;
        }, 5000)
    })
</script>
<style>
    .content {
        display: flex;
        position: relative;
        transform: translateY(-50%);
        top: 50%;
    }
 
    .message {
        border: 3px skyblue solid;
        border-radius: 20px;
        width: fit-content;
        height: 30px;
        text-align: center;
        padding: 10px;
        position: relative;
        transform: translateX(-50%);
        left: 50%;
    }
 
 
    .close {
        margin-left: 20px;
        font-weight: 700;
        padding: 2px;
        border: 1px solid red;
        background-color: red;
    }
</style>

2. 通過(guò)h函數(shù)和render函數(shù)實(shí)現(xiàn)組件的掛載

首先需要通過(guò)h函數(shù)創(chuàng)建組件的虛擬節(jié)點(diǎn),h函數(shù)有多個(gè)重寫方法(h函數(shù)的具體用法),這里用的直接傳入一個(gè)節(jié)點(diǎn)(也就是自定義的組件),h函數(shù)會(huì)有一個(gè)VNode的返回值,通過(guò)render渲染函數(shù)進(jìn)行渲染,然后將div掛載到body上,最后將這個(gè)函數(shù)導(dǎo)出

import Message from './Message.vue'
import { h, render } from 'vue'
export function createMessage() {
 
    const div = document.createElement("div");
    render(h(Message), div);
    document.body.appendChild(div)
}

3.使用

這里實(shí)現(xiàn)的是最簡(jiǎn)單的消息提示,正常來(lái)說(shuō)應(yīng)該用props來(lái)傳遞屬性(比如傳遞的消息內(nèi)容等等)。

    import { createMessage } from './message/Message.js'
    createMessage();

例如說(shuō)這樣

<template>
    <div class="message" v-if="display">
        <div class="content">
            <div>{{message}}</div>
            <div class="close" @click="close">X</div>
        </div>
 
    </div>
</template>
<script setup>
    import { ref, onMounted } from 'vue';
    const { message } = defineProps(["message"])
</script>
import Message from './Message.vue'
import { h, render } from 'vue'
export function createMessage({ Msg = "消息提示" }) {
    const div = document.createElement("div");
    render(h(Message, { message: Msg }), div);
    document.body.appendChild(div)
}
 
<script setup>
    import { createMessage } from './message/Message.js'
    createMessage({ Msg: "Hello World" });
</script>
 
<template>
</template>

這樣就可以實(shí)現(xiàn)一個(gè)簡(jiǎn)單的消息傳遞,但是功能非常的不全(所以我為什么不用Element呢.......),可以當(dāng)成事件觸發(fā)后的提示功能

到此這篇關(guān)于基于Vue實(shí)現(xiàn)消息提示功能的文章就介紹到這了,更多相關(guān)Vue消息提示內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 集成vue到j(luò)query/bootstrap項(xiàng)目的方法

    集成vue到j(luò)query/bootstrap項(xiàng)目的方法

    下面小編就為大家分享一篇集成vue到j(luò)query/bootstrap項(xiàng)目的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • vue+elementui實(shí)現(xiàn)選項(xiàng)卡功能

    vue+elementui實(shí)現(xiàn)選項(xiàng)卡功能

    這篇文章主要為大家詳細(xì)介紹了vue+elementui實(shí)現(xiàn)選項(xiàng)卡功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 淺談Vue-cli單文件組件引入less,sass,css樣式的不同方法

    淺談Vue-cli單文件組件引入less,sass,css樣式的不同方法

    下面小編就為大家分享一篇淺談Vue-cli單文件組件引入less,sass,css樣式的不同方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • vue3如何在setup中獲取DOM元素

    vue3如何在setup中獲取DOM元素

    這篇文章主要介紹了vue3如何在setup中獲取DOM元素問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue2使用cube-ui?實(shí)現(xiàn)搜索過(guò)濾、高亮功能

    Vue2使用cube-ui?實(shí)現(xiàn)搜索過(guò)濾、高亮功能

    cube-ui?是基于?Vue.js?實(shí)現(xiàn)的精致移動(dòng)端組件庫(kù),由于很長(zhǎng)一段時(shí)間沒有學(xué)習(xí)cube-ui?的功能實(shí)現(xiàn)示例代碼了,今天通過(guò)本文給大家介紹下Vue2使用cube-ui?實(shí)現(xiàn)搜索過(guò)濾、高亮功能,感興趣的朋友跟隨小編一起看看吧
    2023-01-01
  • Vue組件間傳遞數(shù)據(jù)的多種方法

    Vue組件間傳遞數(shù)據(jù)的多種方法

    在實(shí)際開發(fā)中,Vue組件之間的數(shù)據(jù)傳遞是最常見的需求,由于組件的作用域相互獨(dú)立,如何在父子、兄弟和跨級(jí)組件間傳遞數(shù)據(jù)就顯得尤為重要,本文將詳細(xì)介紹多種Vue組件間傳遞數(shù)據(jù)的方,需要的朋友可以參考下
    2025-03-03
  • vue使用$emit時(shí),父組件無(wú)法監(jiān)聽到子組件的事件實(shí)例

    vue使用$emit時(shí),父組件無(wú)法監(jiān)聽到子組件的事件實(shí)例

    下面小編就為大家分享一篇vue使用$emit時(shí),父組件無(wú)法監(jiān)聽到子組件的事件實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • element中Steps步驟條和Tabs標(biāo)簽頁(yè)關(guān)聯(lián)的解決

    element中Steps步驟條和Tabs標(biāo)簽頁(yè)關(guān)聯(lián)的解決

    這篇文章主要介紹了element中Steps步驟條和Tabs標(biāo)簽頁(yè)關(guān)聯(lián)的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 淺析為什么Vue使用虛擬DOM

    淺析為什么Vue使用虛擬DOM

    Vue?使用虛擬?DOM?的初衷不僅是為了性能優(yōu)化,更重要的是為了解決開發(fā)效率和靈活性的問(wèn)題,下面我們就來(lái)探討一下虛擬DOM的作用與原理吧
    2024-12-12
  • vuejs element table 表格添加行,修改,單獨(dú)刪除行,批量刪除行操作

    vuejs element table 表格添加行,修改,單獨(dú)刪除行,批量刪除行操作

    這篇文章主要介紹了vuejs element table 表格添加行,修改,單獨(dú)刪除行,批量刪除行操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07

最新評(píng)論