Weex如何实现对话框 #45

简介: Weex如何实现对话框 #45
<template>
    <div class="modal-wrapper" v-if="show">
        <div class="modal-mask" />
        <div class="dialog-box" :style="{top:top + 'px'}">
            <slot />
            <div class="dialog-footer" v-if="single">
                <div class="footer-btn cancel"
                    @click="secondaryClicked">
                    <text
                        class="btn-text"
                        :style="{ color: secondBtnColor }"
                    >{{ cancelText }}</text>
                </div>
                <div
                    class="footer-btn confirm"
                    @click="primaryClicked"
                >
                    <text
                        class="btn-text"
                        :style="{ color: mainBtnColor }"
                    >{{ confirmText }}</text>
                </div>
            </div>
            <div class="dialog-footer" v-if="!single">
                <div class="footer-btn confirm"
                    @click="primaryClicked">
                    <text
                        class="btn-text"
                        :style="{ color: mainBtnColor }"
                    >{{ confirmText }}</text>
                </div>
            </div>
        </div>
    </div>
</template>
<script>
/** 
 * 二次确认弹窗组件
 * 支持自定义标题、内容、二次确认按钮文案和样式
 * show 是否显示, 默认不显示
 * top 距离顶部的距离,默认400
 * secondBtnColor  取消按钮样式
 * mainBtnColor 确定按钮样式
 * cancelText 取消文案,默认取消
 * confirmText 确定文案,默认确定
 * single 单个按钮 or 两个按钮,默认两个按钮
*/
export default {
    name: 'Modal',
    props: {
        show: {
            type: Boolean,
            default: false,
        },
        top: {
            type: Number,
            default: 400
        },
        secondBtnColor: {
            type: String,
            default: '#666666'
        },
        mainBtnColor: {
            type: String,
            default: '#0081FF'
        },
        cancelText: {
            type: String,
            default: '取消'
        },
        confirmText: {
            type: String,
            default: '确定'
        },
        single: {
            type: Boolean,
            default: true
        },
    },
    methods: {
        secondaryClicked () {
            this.$emit('secondaryClicked', {
                type: 'cancel'
            });
        },
        primaryClicked () {
            this.$emit('primaryClicked', {
                type: 'confirm'
            });
        },
    },
};
</script>
<style scoped>
.modal-mask {
    width: 750px;
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.6);
}
.dialog-box {
    z-index: 9999;
    position: fixed;
    left: 96px;
    width: 558px;
    border-radius:8px;
    background-color: #FFFFFF;
}
.dialog-title {
    font-size: 36px;
    text-align: center;
}
.dialog-content {
    padding-top: 36px;
    padding-bottom: 36px;
    padding-left: 36px;
    padding-right: 36px;
}
.dialog-footer {
    flex-direction: row;
    align-items: center;
    border-top-color: #F3F3F3;
    border-top-width: 1px;
}
.footer-btn {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex: 1;
    height: 92px;
}
.cancel {
    border-right-color: #F3F3F3;
    border-right-width: 1px;
}
.btn-text {
    font-size: 36px;
    color: #666666;
    text-align: center;
}
</style>
目录
相关文章
|
4月前
|
Linux 测试技术 开发者
【开源剪映小助手】开发者指南
capcut-mate 是开源剪映自动化工具,基于 FastAPI + Electron 构建,支持跨平台草稿管理、媒体处理与视频导出。采用分层架构、条件依赖与优雅降级机制,确保 Windows/Linux 兼容性与一致开发体验。(239字)
|
5月前
|
SQL 人工智能 自然语言处理
JeecgBoot低代码 AI Skills 代码生成实战:用自然语言驱动全栈 CRUD 开发
JeecgBoot低代码平台推出AI代码生成Skills,基于Claude Code实现自然语言驱动的全栈CRUD开发。支持智能字段推导、字典自动匹配、增量修改等能力,一句话即可完成从需求描述到可运行代码的全链路生成。
675 1
|
5月前
|
人工智能 自然语言处理 安全
生成式AI驱动下钓鱼攻击的自动化演进与防御范式重构
本文剖析生成式AI驱动的钓鱼攻击新范式:攻击频率达每19秒一次,依托大语言模型实现多语言、高拟真内容批量生成与“同源异态”变体自动迭代,使传统签名检测失效。提出以行为分析、上下文关联和零信任为核心的主动防御体系,涵盖DMARC严格部署、链接隔离、FIDO2认证及带外验证等实操策略。(239字)
222 6
|
8月前
|
文字识别 小程序 安全
NFC护照识读鉴伪解决方案-小程序/app端护照鉴伪
随着全球数字化加速,电子护照普及带来身份核验新挑战。本方案融合NFC芯片读取、OCR识别与ICAO PKD数字验签,支持178国护照及多类证件,实现真伪鉴别、人脸提取与数据自动录入,适用于边检、酒店、金融等场景,提供安全、高效、可信的多端身份验证服务。
1063 0
|
11月前
|
存储 机器学习/深度学习 人工智能
RAG系统嵌入模型怎么选?选型策略和踩坑指南
嵌入是RAG系统的核心,直接影响检索质量。本文详解嵌入原理,解析稠密/稀疏、长上下文、多向量等类型,梳理选型关键:领域匹配、上下文长度、维度与成本,并结合MTEB基准给出实用建议,助你为业务挑选高效稳健的嵌入方案。
1257 3
RAG系统嵌入模型怎么选?选型策略和踩坑指南
|
人工智能 弹性计算 运维
亚太唯一,阿里云Serverless计算产品进入Forrester领导者象限
Forrester发布Serverless开发平台评估报告《Forrester Wave™: Serverless Development Platforms, Q2 2025》:在21项测评中,阿里云函数计算FC和Serverless应用引擎SAE的产品能力拿到了9项最高分。阿里云成功进入领导者象限,是国内唯一进入该象限的科技公司。
|
前端开发 JavaScript Java
我的编程语言学习记录:一段不断探索的旅程
我的编程语言学习记录:一段不断探索的旅程
|
云安全 监控 安全
带你读《阿里云安全白皮书》(二十三)——云上安全建设最佳实践
淘宝作为全球最大规模、峰值性能要求最高的电商交易平台,基于阿里云成功通过了多年“双11”峰值考验。淘宝的安全体系涵盖了系统安全、网络安全、账号与凭据安全、云资源安全等多个方面,通过阿里云提供的多种安全产品和服务,确保了业务的稳定运行和数据的安全。淘宝的安全实践不仅为自身业务提供了坚实的保障,也为其他行业的云上安全建设提供了宝贵的经验和参考。
|
存储 搜索推荐 C语言
如何理解指针作为函数参数的输入和输出特性
指针作为函数参数时,可以实现输入和输出的双重功能。通过指针传递变量的地址,函数可以修改外部变量的值,实现输出;同时,指针本身也可以作为输入,传递初始值或状态。这种方式提高了函数的灵活性和效率。
|
网络性能优化 定位技术 C++
跨地区远程访问如何更快、更稳、更可靠:贝锐蒲公英智能选路
贝锐蒲公英云智慧组网采用自研智能选路技术,可根据实时网络状况自动选择最优路径,大幅降低延迟并提升传输速率。相较于传统单线模式下数据必须经由单一服务器转发导致高延迟与无备份线路的问题,蒲公英通过全球分布式节点与SD-WAN技术实现了智能实时导航能力。实测显示,智能选路可使通讯延迟降低5倍、传输速率提升百倍。该技术基于多云服务商的主干网络与FullMesh架构,能自动避开拥堵路径并确保网络可用性,即使面对线路故障也能自动切换,提供更快速、稳定和可靠的跨地区远程访问体验。
1092 3
跨地区远程访问如何更快、更稳、更可靠:贝锐蒲公英智能选路

热门文章

最新文章