Vue 將某個(gè)元素或組件掛載到指定節(jié)點(diǎn)

我們以vant 日歷組件為例, 向彈窗底部添加一個(gè)重置按鈕

方法1: 元素添加

創(chuàng)建按鈕元素, 將其添加至目標(biāo)節(jié)點(diǎn)

this.$nextTick(() => {
    const resetEl = document.getElementById(
        'calendarResetButton',
    )

    if (!resetEl) {
        const footerEl = document.getElementsByClassName(
            'van-calendar__footer',
        )[0]
        const button = document.createElement('button')

        button.setAttribute('type', 'button')
        button.setAttribute('id', 'calendarResetButton')
        button.setAttribute(
            'class',
            'rest-button van-button van-button--info van-button--normal van-button--block van-button--round van-calendar__confirm',
        )
        button.innerHTML = '重置'
        button.addEventListener('click', this.resetDate)

        footerEl.insertAdjacentElement('afterbegin', button)
    }
})

方法2: 組件添加

將按鈕組件添加至目標(biāo)節(jié)點(diǎn)

this.$nextTick(() => {
    const resetEl = document.getElementById(
        'calendarResetButton',
    )

    if (!resetEl) {
        const footerEl = document.getElementsByClassName(
            'van-calendar__footer',
        )[0]
        const resetBtn = new Vue({
            el: document.createElement('div'),
            render: h => {
                return h('van-button', {
                    props: {
                        text: '重置',
                        type: 'info',
                        round: true,
                    },
                    attrs: {
                        id: 'calendarResetButton',
                    },
                    style: {
                        color: '#fff',
                    },
                    on: {
                        click: this.resetDate,
                    },
                })
            },
        })

        footerEl.insertAdjacentElement(
            'afterbegin',
            resetBtn.$el,
        )
    }
})
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容