小程序wx.showActionSheet()操作菜单

本文详细介绍了微信小程序中`wx.showActionSheet` API的用法,展示了如何弹出操作菜单,并提供了实际应用场景和示例代码,帮助开发者实现用户交互功能。

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

<view class="tui-content">
  <view class="tui-show-name">
    <text class="tui-card-btn" bindtap="openActionsheet">打开actionsheet</text>
  </view>
</view>
<view class="tui-fixed-foot">
  <text class="tui-card-btn tui-fl" bindtap="openActionsheetDe">DELETE</text>
  <text class="tui-card-btn tui-fr" bindtap="openActionsheetSh">SHARE</text>
</view>

// pages/Sheet/Sheet.js
Page({

  /**
   * 页面的初始数据
   */
  data: {

  },
  openActionsheet(){
    wx.showActionSheet({
      itemList: ['拍照或录像','选取现有的'],
      itemColor:'#007aff',
      success(res){
          console.log(res)
          if(res.tapIndex===0){
            wx.chooseVideo({
              sourceType: ['camera'],
              success(res){
                console.log(res)
              }
            })
          }else if(res.tapIndex===1){
            wx.chooseImage({
              count:3,
              sizeType: ['original', 'compressed'], 
              sourceType: ['album', 'camera'],
              success(res){
                console.log(res)
              } 

            })
          }
      }
    })
  },
  openActionsheetDe(e){
     wx.showActionSheet({
       itemList: ['删除信息'],
       itemColor: '#FF3B30',
       success(res){
         wx.showToast({
           title: '删除成功',
         })
       }
     })
  },
  openActionsheetSh(e){
    wx.showActionSheet({
      itemList: ['回复','转发','打印'],
      itemColor: '#FF3B30',
      success(res){
        if(res.tapIndex===0){wx.showToast({ title: '回复成功!' });}
        else if(res.tapIndex===1){wx.showToast({ title: '转发成功!' });}
        else if(res.tapIndex===2){wx.showToast({ title: '打印成功!' });}
      }
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})

效果图:在这里插入图片描述
在这里插入图片描述

### 解决方案 当遇到 `ConnectionRefusedError` 错误提示“由于目标计算机积极拒绝,无法连接”时,这通常意味着程序尝试访问的目标端口未开放者服务尚未启动。以下是针对此问题的具体分析和解决方法: #### 1. **确认Visdom服务器是否已运行** 如果Visdom服务器未启动,则客户端自然会因找不到可用的服务而报错。可以通过手动启动Visdom服务器来解决问题。具体命令如下: ```bash E:\anaconda3\envs\py11\python.exe -m visdom.server -p 8097 ``` 上述命令会在指定的端口号(默认为8097)上启动Visdom服务器[^2]。 #### 2. **验证网络端口状态** 确保所使用的端口(如8097)未被其他进程占用,并且防火墙允许该端口上的通信。可以使用以下命令检查端口占用情况: ```bash netstat -ano | findstr :8097 ``` 如果没有返回任何结果,则说明当前端口为空闲状态;如果有冲突,请更换另一个未被占用的端口并重新配置Visdom服务器。 #### 3. **调整环境变量与路径设置** 某些情况下,系统可能因为路径错误权限不足而导致服务失败。建议将Python解释器及其依赖加入到系统的PATH环境中,并赋予足够的执行权限给相关目录文件夹。 #### 4. **创建Web Directory** 部分文档提到需要显式定义web存储位置以便于数据保存管理。例如,在F盘下建立名为`result/web`的新文件夹作为输出地址: ```plaintext create web directory F:\result\web... ``` 通过以上措施应该能够有效缓解甚至彻底消除此类异常现象的发生几率。 ### 注意事项 - 如果仍然存在问题, 可考虑更新至最新版本的Visdom以及Anaconda等相关组件。 - 对于跨平台操作(比如Linux vs Windows), 需要注意不同操作系统间语法差异可能会引起额外麻烦. ```python import visdom viz = visdom.Visdom(port=8097) if not viz.check_connection(): raise RuntimeError('Unable to connect to Visdom server.') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值