微信小程序弹窗是一种提供用户操作反馈的重要方式,它可以帮助用户快速了解当前操作的结果,并且可以根据不同的场景进行定制化。
微信小程序弹窗有多种形式,其中最常见的是alert、confirm和toast三种。alert弹窗是一个单独的对话框,用于显示重要信息;confirm弹窗则是一个带有“取消”和“确定”两个选项的对话框,用于询问用户是否执行特定的动作;toast则是一个轻量的对话框,用于显示一条信息。
// alert 弹出对话框 wx.showModal({ title: '标题', content: '内容', showCancel: false, // 是否显示取消按钮 默认true success (res) { // 点击 confirm 时执行回调函数 res.confirm 为 true/false if (res.confirm) { // 点击 confirm 时执行回调函数 res.confirm 为 true/false } else if (res.cancel) { // 点击 cancel 时执行回调函数 res.cancel 为 true/false } } }) // confirm 弹出对话框 含有 “取消” 和 “确定” 操作选项 适用于询问用户是否执行特定动作时使用 wx.showModal({ title: '标题', content: '内容', // 必填字段 若不填写会造成无法正常使用弹出对话框功能 showCancel: true, // 是否显示取消按钮 默认true 若不显示则无法正常使用弹出对话功能 适用于 alert 功能时支付 false 值即可 success (res) { // 点击 confirm 或 cancel 时执行回调函数 res.confirm 为 true/false res.cancel 也会返回 true/false if (res.confirm) { // 点击 confirm 时执行回调函数 res.confirm 为 true/false } else if (res.cancel) { // 点击 cancel 时执行回调函数 res.cancel 也会返回 true/false } }}) // toast 弱化版 alert 功能 适用于显示一条信息时支付使用 若想要在 toast 过后立即关闭当前页面则将 duration 赋值 0 若想要在 toast 过后立即进入新页面则将 complete 赋值 wx.navigateTo() wx.navigateBack() wx.redirectTo() wx.switchTab() wx.reLaunch() 等方法即可 (注意:complete 本来就是一个 function ) (注意:duration 本来就是 number ) (注意:title 本来就是 string ) (注意:icon 本来就是 string ) (注意:image 本来就是 string ) (注意:mask 本来就是 boolean )  ̄へ ̄
Dialog弹窗组件。
{
"usingComponents": {
"mp-dialog": "../components/dialog/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="openConfirm">确认取消按钮</button>
<button class="weui-btn" type="default" bindtap="tapOneDialogButton">只有确认按钮</button>
</view>
</view>
<mp-dialog title="test" show="{{dialogShow}}" bindbuttontap="tapDialogButton" buttons="{{buttons}}">
<view>test content</view>
</mp-dialog>
<mp-dialog title="test1" show="{{showOneButtonDialog}}" bindbuttontap="tapDialogButton" buttons="{{oneButton}}">
<view>test content1</view>
</mp-dialog>
</view>
Page({
data: {
dialogShow: false,
showOneButtonDialog: false,
buttons: [{text: "取消"}, {text: "确定"}],
oneButton: [{text: "确定"}],
},
openConfirm: function () {
this.setData({
dialogShow: true
})
},
tapDialogButton(e) {
this.setData({
dialogShow: false,
showOneButtonDialog: false
})
},
tapOneDialogButton(e) {
this.setData({
showOneButtonDialog: true
})
}
});
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
ext-class | string | 否 | 添加在组件内部结构的class,可用于修改组件内部的样式 | |
title | string | 否 | 弹窗的标题 | |
buttons | array<object> | [] | 否 | 底部的按钮组,建议最多提供两个按钮 |
mask | boolean | 是 | 是否显示蒙层 | |
mask-closable | boolean | 是 | 点击蒙层是否可以关闭 | |
show | boolean | false | 否 | 是否显示弹窗 |
bindclose | eventhandler | 否 | 弹窗关闭的时候触发的事件 | |
bindbuttontap | eventhandler | 否 | buttons按钮组点击时触发的事件,detail为{index, item},item是按钮的配置项 |
buttons提供按钮组配置,每一项表示一个按钮,每一项的属性为
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
extClass | string | 否 | 按钮的额外的class,可用于修改组件内部的样式 | |
text | string | 否 | 按钮的文本 |
弹窗组件只有一个默认slot用于显示弹窗的内容
三、便捷优雅从PC时代的物理键盘鼠标到移动端时代手指,虽然输入设备极大精简,但是手指操作的准确性却大大不如键盘鼠标精确。为...
Vue 鼓励我们通过将 UI 和相关行为封装到组件中来构建 UI。我们可以将它们嵌套在另一个内部,以构建一个组成应用程序 UI 的树。...
这是一个XHTML网页文档例子,告诉你如何创建一个基本的网页htmlheadtitle 在线教程 /title/headbody!----这是一个编程入门学习的...
HTML表单输入如果将type属性设置为input元素的文本,浏览器将显示单行文本框。以下列表总结了可用于文本输入元素类型的属性。dir...