Skip to content

Latest commit

 

History

History
167 lines (157 loc) · 5.21 KB

dialog.md

File metadata and controls

167 lines (157 loc) · 5.21 KB

dialog(options)

对话框

参数 类型 描述
options object 配置项
options.title string 提示标题
options.content string 提示文本
options.verticalButtons boolean 是否显示垂直按钮布局
options.buttons array 按钮
options.buttons[].text string 按钮的文本
options.buttons[].type string 按钮的类型
options.buttons[].bold boolean 是否加粗按钮的文字
options.buttons[].onTap function 按钮的点击事件

Example

<import src="../../components/dialog/dialog.wxml"/>

<template is="dialog" data="{{ ...$wux.dialog }}"/>

<view class="page">
    <view class="page__hd">
        <view class="page__title">Dialog</view>
        <view class="page__desc">对话框</view>
    </view>
    <view class="page__bd">
        <view class="weui-btn-area">
            <button class="weui-btn" type="default" bindtap="open">Default Dialog</button>
            <button class="weui-btn" type="default" bindtap="confirm">Confirm Dialog</button>
            <button class="weui-btn" type="default" bindtap="alert">Alert Dialog</button>
            <button class="weui-btn" type="default" bindtap="prompt">Prompt Dialog</button>
            <button class="weui-btn" type="default" bindtap="custom">Custom Dialog</button>
            <button class="weui-btn" type="default" bindtap="vertical">Vertical Buttons Dialog</button>
        </view>
    </view>
</view>
import { $wuxDialog } from '../../components/wux'

Page({
    data: {},
    onLoad() {},
    open() {
        if (this.timeout) clearTimeout(this.timeout)

        const hideDialog = $wuxDialog.open({
            title: '三秒后自动关闭',
            content: '弹窗内容,告知当前状态、信息和解决方法,描述文字尽量控制在三行内', 
            buttons: [
                { 
                    text: '取消', 
                },
                {
                    text: '确定', 
                    type: 'weui-dialog__btn_primary', 
                    onTap(e) {
                        console.log(e)
                    },
                },
            ],
        })

        this.timeout = setTimeout(hideDialog, 3000)
    },
    confirm() {
        $wuxDialog.confirm({
            title: '定制冰激凌', 
            content: '你确定要吃我的冰淇淋吗?', 
            onConfirm(e) {
                console.log('凭什么吃我的冰淇淋!')
            },
            onCancel(e) {
                console.log('谢谢你不吃之恩!')
            },
        })
    },
    alert() {
        $wuxDialog.alert({
            title: '不要吃果冻', 
            content: '它们可能是用旧的皮鞋帮做的!', 
            onConfirm(e) {
                console.log('感谢上帝,你没吃鞋帮!')
            },
        })
    },
    prompt() {
        const that = this
        const alert = (content) => {
            $wuxDialog.alert({
                title: '提示', 
                content: content, 
            })
        }

        $wuxDialog.prompt({
            title: '提示', 
            content: '密码为8位数字', 
            fieldtype: 'number', 
            password: !0, 
            defaultText: '', 
            placeholder: '请输入Wi-Fi密码', 
            maxlength: 8, 
            onConfirm(e) {
                const value = that.data.$wux.dialog.prompt.response
                const content = value.length === 8 ? `Wi-Fi密码到手了: ${value}` : `请输入正确的Wi-Fi密码`
                alert(content)
            },
        })
    },
    custom() {
        const alert = (content) => {
            $wuxDialog.alert({
                title: '提示', 
                content: content, 
            })
        }

        $wuxDialog.open({
            title: '我是标题',
            content: '我是自定义的对话框!',
            buttons: [
                { 
                    text: '现金支付', 
                    type: 'weui-dialog__btn_primary', 
                    onTap(e) {
                        alert('你选择了现金支付!')
                    },
                },
                { 
                    text: '微信支付', 
                    type: 'weui-dialog__btn_primary', 
                    onTap(e) {
                        alert('你选择了微信支付!')
                    },
                },
                { 
                    text: '取消', 
                },
            ],
        })
    },
    vertical() {
        $wuxDialog.open({
            title: '请问需要反馈什么问题?',
            content: '你也可以在个人页的反馈帮助中心里找到这个功能',
            verticalButtons: !0, 
            buttons: [
                { 
                    text: '遇到问题', 
                    bold: !0, 
                },
                { 
                    text: '意见建议', 
                    bold: !0, 
                },
                { 
                    text: '没啥事', 
                    bold: !0, 
                },
            ],
        })
    },
})