微信小程序——提示弹窗wx.showModal

本文介绍如何在微信小程序中使用删除按钮并结合提示框功能,通过具体示例讲解了布局文件与JS事件绑定的方法,以及如何设置提示框的各项属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微信小程序里面的提示框实现,先来张示例图:

先在.wxml里面写好布局文件,这里拿删除按钮作为示例:

  <!-- 删除按钮 -->
  <view class="buttonView">
    <text class="delete_button" bindtap="delete" data-index="{{index}}">删除</text>
  </view>

 这里解释一下,点击事件用bindtap,delete是需要在.js文件里写的点击事件方法。bindtap="delete"是布局文件中删除按钮与.js文件里的删除方法绑定。下面看下.js里面删除方法,弹窗是在点击删除的时候弹出的,所以写在删除事件里面了:

  // 删除按钮点击事件
  delete:function(e){
    // 提示框
    wx.showModal({
      title: '提示',
      content: '确定删除?',
      success: function (res) {
        if (res.confirm) {
          console.log('确定')
        } else {
          console.log('取消')
        }
      }
    })
  },

下面对提示框用到的各属性做下解释:

title:提示标题;

content:提示内容;

showCancel:是否显示取消按钮;

cancelText:取消按钮的文字,最多 4 个字符;

cancelColor:取消按钮的文字颜色,必须是 16 进制格式的颜色字符串;

confirmText:确认按钮的文字,最多 4 个字符;

confirmColor:确认按钮的文字颜色,必须是 16 进制格式的颜色字符串;

success:调用成功的回调函数;

res.confirm: 为 true 时,表示用户点击了确定按钮;

res.cancel:为 true 时,表示用户点击了取消(用于 Android 系统区分点击蒙层关闭还是点击取消按钮关闭);

 

布局文件中的data-index="{{index}}",是获取列表当前行用的,在下一篇文章再讲。

微信官方文档地址:https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showModal.html

### 微信小程序弹窗的字数限制 在微信小程序中,弹窗组件分为多种类型,包括但不限于 `wx.showModal` 和自定义弹窗组件。每种类型的弹窗对于标题和内容的字数限制有所不同。 #### 小程序自带 `showModal` 的字数限制 小程序官方提供的 `wx.showModal` 方法具有一定的局限性。具体来说,该方法中的 `title` 参数存在严格的字数限制,通常不超过 30 个字符[^1]。而 `content` 参数则可以容纳更多的文本,但由于其仅支持纯文本展示而不允许嵌套其他组件或富文本格式化,因此实际应用中可能仍会受到屏幕显示区域的影响。 #### 自定义弹窗组件的灵活性 由于 `wx.showModal` 存在诸多限制,开发者往往会选择创建自己的弹窗组件来满足更复杂的需求。例如,在某些情况下,UI 设计可能会要求弹窗具备动态加载数据的功能或者需要展示图片、按钮等额外元素。此时,可以通过 JSON 文件引入自定义组件的方式实现更加灵活的设计方案: ```json { "usingComponents": { "vas-toast": "../../components/toast/toast" } } ``` 随后,在页面 HTML 中声明此组件并绑定相应的 JavaScript 函数即可完成初始化操作[^4]: ```html <vas-toast id='toast'></vas-toast> ``` ```javascript onShow: function () { this.prompt = this.selectComponent("#toast"); }, that.prompt.showToast({ type: 'fail', title: res.data.errmsg, duration: 4000, complete: function () {} }); ``` 值得注意的是,尽管自定义弹窗能够突破原生 API 对于结构上的约束,但对于特定字段如消息提示框内的标题长度仍然可能存在隐含的规定——当指定图标样式为 success/error/loading 类型时,建议保持标题简洁明了(一般控制在七汉字以内),否则可能导致视觉效果不佳甚至无法正常渲染的情况发生[^3]。 综上所述,无论是采用标准接口还是构建个性化解决方案,都应充分考虑用户体验与界面美观度之间的平衡关系;同时也要注意不同平台间潜在差异所带来的兼容性挑战。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时代新人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值