IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 【微信小程序】简单实现QQ发说说选择图片并显示功能 -> 正文阅读

[移动开发]【微信小程序】简单实现QQ发说说选择图片并显示功能

简单实现QQ发说说选择图片并显示效果

实现效果:

001
002
003
004
005

代码实现:(复制可用)

index.wxml:

<view class="top">
  <view>取消</view>
  <view>写说说</view>
  <view class="publish_btn" bindtap="publishTap">发表</view>
</view>

<textarea name="text" id="" value="{{content}}" cols="30" rows="10" placeholder="分享新鲜事..." maxlength="-1" auto-focus="true" focus="true"></textarea>

<view class="weui-uploader">
  <view class="img-v weui-uploader__bd">
    <view class='pic' wx:for="{{imgs}}" wx:for-item="item" wx:key="*this">
        <image class='weui-uploader__img '
                src="{{item}}"
                data-index="{{index}}" mode="aspectFill" bindtap="previewImg">
                  <icon type='cancel' class="delete-btn" data-index="{{index}}" catchtap="deleteImg" color="#5dcdff"></icon>
        </image>
    </view>
     
    <!-- 用来提示用户上传图片 -->
    <view class="weui-uploader__input-box pic" bindtap="chooseImg"> </view>

  </view>
</view>

<view class="photo" bindtap="chooseImg">
  <image class="photo-icon" src="../../images/photo.png"></image>
  <text class="wenzi">照片</text>
</view>

index.wxss:

.top {
  height: 100rpx;
  display: flex;
  align-items: center;
  justify-content:space-between;
  padding:0 30rpx ;
  box-sizing: border-box;
  background-color: #16a0f8;
  color: #ffffff;
}
.top .publish_btn {
  height: 65rpx;
  width: 120rpx;
  border-radius: 32rpx;
  background-color: #6cd3ff;
  text-align: center;
  line-height: 65rpx;
  cursor: pointer;
}


textarea{
  margin: auto;
  width:94%;
  height: 200rpx;
  padding: 10px;
  margin-bottom: 30rpx;
}
.photo {
  height: 210rpx;
  width: 210rpx;
  margin-left:15px;
  border: 5rpx dashed #bfbfbf;
  border-radius: 20rpx;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.photo-icon {
  width: 80rpx;
  height: 70rpx;
}
.wenzi {
  color: #bfbfbf;
  margin-top: 10rpx;
}

.weui-uploader__img {
  width: 225rpx;
  height: 225rpx;
}

.img{
  display: inline-block;
}
 
.pic {
  float:left;
  position:relative;
  margin-left:8px;
  margin-bottom:9px;
}
.delete-btn{
  position: absolute;
  top: 0;
  right: 0;
}
.weui-uploader{
  padding: 10rpx;
}

index.js:

Page({
  /**
   * 页面的初始数据
   */
  data: {
    imgs: [],
  },
  // 上传图片
  chooseImg: function (e) {
    var that = this;
    var imgs = this.data.imgs;
    if (imgs.length >= 9) {
      this.setData({
        lenMore: 1
      });
      setTimeout(function () {
        that.setData({
          lenMore: 0
        });
      }, 2500);
      return false;
    }
    wx.chooseImage({
      // count: 1, // 默认9
      sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
      success: function (res) {
        // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
        var tempFilePaths = res.tempFilePaths;
        var imgs = that.data.imgs;
        // console.log(tempFilePaths + '----');
        for (var i = 0; i < tempFilePaths.length; i++) {
          if (imgs.length >= 9) {
            that.setData({
              imgs: imgs
            });
            return false;
          } else {
            imgs.push(tempFilePaths[i]);
          }
        }
        // console.log(imgs);
        that.setData({
          imgs: imgs
        });
      }
    });
  },
  // 删除图片
  deleteImg: function (e) {
    var imgs = this.data.imgs;
    var index = e.currentTarget.dataset.index;
    imgs.splice(index, 1);
    this.setData({
      imgs: imgs
    });
  },
  // 预览图片
  previewImg: function (e) {
    //获取当前图片的下标
    var index = e.currentTarget.dataset.index;
    //所有图片
    var imgs = this.data.imgs;
    wx.previewImage({
      //当前显示图片
      current: imgs[index],
      //所有图片
      urls: imgs
    })
  },
 
  // 点击发布
  publishTap() {
    wx.showToast({
      title:'发表成功',
      icon:'success',
      duration:2000 //持续的时间
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
 
  },
 
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
 
  },
 
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
 
  },
 
  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
 
  },
 
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
 
  },
 
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
 
  },
 
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
 
  }
})

app.json:
006

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-02-07 13:50:15  更:2022-02-07 13:50:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 14:54:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码