ant-vue的$confirm待到计数器的确认信息窗口

86 阅读1分钟
secondSubmit(msg = '', okCallback = () => { }, cancelCallback = () => { }, timerVal = 5, title = '操作确认') { //对话框的二次确认
            const confirm = this.$confirm({
                title: title,
                content: h => {
                    return h("div", { domProps: { innerHTML: "<div style='color:red;'>" + msg + "</div>" } })
                },
                okButtonProps: {
                    props: { disabled: true },
                },
                keyboard: false,
                okText: '继续(' + timerVal + ')',
                onOk() {
                    return okCallback()
                },
                onCancel() {
                    return cancelCallback()
                }
            });
            let tempIndex = timerVal
            let timer = setInterval(() => {
                tempIndex--
                let okStr = `继续(${tempIndex})`
                if (tempIndex == 0) {
                    okStr = `继续`
                    confirm.update({
                        okButtonProps: {
                            props: { disabled: false }
                        }
                    })
                    clearInterval(timer)
                }
                confirm.update({
                    okText: okStr,
                });
            }, 1000)
        },