最近在为联想开发一个博客论坛类的小程序,刚刚开发做了几个小功能记录下来。本次记录发布心愿功能基本和我们发布朋友圈差不多。点击加+ 。拍照或者从文件里选择图片上传。

wxml里的代码如下:

<view>
<view class='topWrap'>
<text class='Close'>X</text>
<text class='releaseBtn'>发布心愿</text>
</view>
<view style='margin:20rpx 10rpx;'>
<!-- 判断chooseImageUrl如果没有就不加载本模块,这是前面显示上传的图片的模块。 -->
<view wx:for="{{chooseImageUrl}}" wx:key="{{key}}" class='chooseImageWrap'>
<image class='chooseImage' src='{{item}}' ></image>
<text class='chooseImageClose' data-index="{{index}}" bindtap='Close'> X</text>
<!-- data-index="{{index}}"之定义属性,后面删除图片的时候需要用到它 -->
</view>
<!-- 加号的框  chooseImageUrl.length当超过九张的时候就不在显示 -->
<view wx:if='{{chooseImageUrl.length<9}}' class="ax" style="cursor: pointer;" bindtap='paizhao'>
<image class="img" src="../../images/DottedLine.png" ></image>
<view class='Plus'>+</view>
</view>
</view>
<input placeholder="心愿标题" class='wishTitle'></input>
<textarea class='wishcontent' maxlength='-1' placeholder="心愿内容"></textarea>
</view>

js  部分:

//  因为wx.chooseImage api只是简单地拍照或者选择图片所以为了达到发布朋友全的效果需要在回调里进行操作
var imgArr = [];//这个数组用来临时存储图片数据
Page({
data:{
latitude:'',
chooseImageUrl:[],//绑定到页面的数据
imgCount: 0,//图片的张数
},
paizhao:function(){
var that = this
var attach = []

//wx.chooseImage 不多介绍看文档

wx.chooseImage({
sourceType: ['album', 'camera'],
sizeType: ['original'],
count: 9,
success: function (res) {
var tempFilePaths = res.tempFilePaths;
var len = that.data.imgCount + tempFilePaths.length
//len 是此时已有的张数和本次上传的张数的和,也就是本次操作完成页面应该有的张数,因为用户可能会多次选择图片,所以每一次的都要记录下来。
if (len > 9) {
wx.showToast({
title: '最大数量为9',
icon: 'loading',
duration: 1000
})
//超过结束
return false
}
for (var i = 0; i < tempFilePaths.length;i++){
//将api 返回的图片数组push进一开始的imgArr,一定要循环一个个添加,因为用户上传多张图直接push就会多个路径在imgArr的同一个元素里。报错
imgArr.push(tempFilePaths[i]);
}
//将此时的图片长度和存放路径的数组加到要渲染的数据中
that.setData({
imgCount: len,
chooseImageUrl: imgArr
})
}
})
},
//点关闭按键
Close:function(e){
var mylen = this.data.chooseImageUrl.length;//当前渲染的数组长度
var myindex = e.currentTarget.dataset.index;//当前点击的是第几张图片 data-index
imgArr.splice(myindex,1)//将这张图充存放图片的数组中删除
this.setData({
imgCount: mylen - 1,//长度减一
chooseImageUrl: imgArr//将删除图片后的数组赋给要渲染的数组
})
}
})

转载于:https://www.cnblogs.com/wangercha/p/9378363.html

小程序(仿微信发布说说功能)相关推荐

  1. 小程序仿微信聊天按住说话功能

    小程序仿微信聊天按住说话功能 实现:按住说话有录音动画,上滑可取消发送,松开发送录音 录音授权判断 # .wxml <view class="btn {{touchBtn?'hover ...

  2. php按住说话然后播放,小程序仿微信聊天按住说话功能

    小程序仿微信聊天按住说话功能 实现:按住说话有录音动画,上滑可取消发送,松开发送录音 录音授权判断 # .wxml bind:longpress="onLongpress" cat ...

  3. android微信运动页面开发,微信小程序仿微信运动步数排行(交互)

    微信小程序仿微信运动步数排行(交互) 发布时间:2020-08-20 00:51:02 来源:脚本之家 阅读:101 作者:祈澈姑娘 本文介绍了微信小程序仿微信运动步数排行(交互),分享给大家,也给自 ...

  4. 微信小程序仿微信SlideView组件slide-view

    微信小程序仿微信SlideView组件. 使用 1.安装 slide-view 从小程序基础库版本 2.2.1 或以上.及开发者工具 1.02.1808300 或以上开始,小程序支持使用 npm 安装 ...

  5. Java微信运动步数排序设计_微信小程序仿微信运动步数排行(交互)

    本文介绍了微信小程序仿微信运动步数排行(交互),分享给大家,也给自己留个笔记,废话不多说了,具体如下: 效果图如下: wxml: {{item.name}} {{item.steps}} wxss: ...

  6. 小程序仿微信支付数字键盘,微信支付数字键盘

    小程序仿微信支付数字键盘,微信支付数字键盘 前段时间在一个小程序中需要写个支付页面,刚开始用input来唤起手机自带的数字键盘,甲方说不好看,然后说微信支付页面做的就比较好....于是就动手写了一个, ...

  7. 小程序(十六)小程序仿微信聊天页面及功能

    后期打算在小程序中添加即时聊天的功能,但是目前这个还没有考虑好以一种什么样的形势去实现,先接入一个腾讯AI提供的免费闲聊接口.先做一个大概的页面及功能. 腾讯AI地址: https://ai.qq.c ...

  8. 微信小程序仿微信功能Day3

    仿微信通讯录功能实现 右侧一个定位锚点跳转功能. 整体是列表的数据显示. 需要图片资源的请去网盘下载 提取码:en17 1.phone.wxml <!-- pages/phone/phone.w ...

  9. 微信小程序仿微信功能Day4

    点击列表进入用户个人信息 如图所示: 当点击了列表信息时候.跳转到用户个人信息的页面,并从js文件中获取值. 1.页面布局PersonalDetails.wxml <!-- pages/Pers ...

最新文章

  1. 语言模型GPT跨界CV,OpenAI揭示强算力Transformer具有通用性
  2. 设计模式 之 建造者
  3. 解决网络故障的一般方法
  4. EFCore3.1+编写自定义的EF.Functions扩展方法
  5. #3771. Triple 生成函数 + FFT + 容斥
  6. 聊个天就把生信分析做了?你的未来在哪里?
  7. python 多进程 每个进程做不同功能实例_Python 多进程并发操作中进程池Pool的实例...
  8. 以太网的分层架构_以太网矩阵(Ethernet Fabric)简介
  9. 为什么Docker不能解决云上的所有问题
  10. linux date -d 的一些使用方法
  11. Spring IOC(依赖注入的三种方式)
  12. 判断是否是微信浏览器
  13. 一文了解单线激光扫描系统的标定与成像原理
  14. if函数三个条件怎么用c语言,if函数三个条件怎么用?
  15. Linux修改open files数及ulimit和file-max的区别
  16. 一文了解CSP、NOIP、NOI 三大信息学赛事
  17. 30岁测试员在一家公司工作八年后,告别“体制化”终于跳槽,别再妄想靠公司养老了!
  18. [玩转北京] 北京最值得你一看的博物馆大全
  19. BPF入门1:BPF技术简介
  20. 在windows上安装 onlyoffice-documentserver.exefor Windows

热门文章

  1. VMware Workstation Pro 虚拟机做RAID
  2. 查看eclipse中已经安装的插件(英文版界面)
  3. powerShell中 diff的使用
  4. 提高Eclipse的运行速度 去掉JPA这个Eclipse 插件
  5. thinkphp 调用wsdl接口实例化SoapClient抛出异常
  6. 机器学习——异常值检测
  7. java下载文件名乱码的解决方法
  8. 键盘快捷键将剪贴板内容粘贴到命令提示符窗口(Win XP)[关闭]
  9. bash:pip:找不到命令
  10. 如何在gradle上仅运行一个测试类