微信小程序 动态绑定数据及动态事件处理

发布时间 - 2026-01-11 00:10:05    点击率:

微信小程序 动态绑定数据及动态事件处理

关键核心代码

<image class="midimage" data-Type="{{item.Type}}" data-BillCode="{{item.BillCode}}" data-src="{{item.imgurl}}"
 src="{{item.imgurl}}" mode="scaleToFill" bindtap="addtaskimg" bindlongtap="imglongtap" ></image>
var objurl= JSON.parse(res.data);
        //重置图片参数
        var temppostionlist=that.data.postionlist;
        for (var i=0;i<temppostionlist.length;i++)
        {
          if (temppostionlist[i]["Type"]==e.currentTarget.dataset.type){           
           temppostionlist[i]["imgurl"]=temppaths;
           temppostionlist[i]["serverimgurl"]=objurl.Body.Data;
           break;
          }            
        } 
        that.setData( {  
             postionlist:temppostionlist  
        })

利用image的data-Type,可以在js后台中知道是点击了哪个image,上传图片后再循环得出相等data-type的数据项进行赋值,这样就能动态给相应的标签赋值

addtaskimg 为统一的动态事件

主要代码如下

.wxml

 <scroll-view class="center" scroll-y="true">
      <view class="midcenter" wx:for="{{postionlist}}">
      <view class="mid_top" >
          <image class="smallimage" src="../images/my/XXH/line_title.png" mode="aspectFit" ></image>
          <text>{{item.KeyValue}}</text>
      </view>
      <view class="mid_center">
          <text>{{item.Remark}}</text>
      </view>
      <view class="mid_bottom">
          <image class="midimage" data-Type="{{item.Type}}" data-BillCode="{{item.BillCode}}" data-src="{{item.imgurl}}"
          src="{{item.imgurl}}" mode="scaleToFill" bindtap="addtaskimg" bindlongtap="imglongtap" ></image>
      </view>      
      </view>
    </scroll-view>

.js

addtaskimg:function(e){   
  //添加选择图片  
  if (this.data.blongtap)
  {
   //处理如果是长按,则不再执行下面的
   this.setData({
    blongtap:false
   });
   return;
  }
  var that = this;
   wx.chooseImage({
    count:1, //默认1张
    success:function(res){
      //先上传至服务器,再返回路径供保存
      var temppaths=res.tempFilePaths[0];//+".jpg";
      wx.uploadFile({
       url:app.globalData.ghost+"YWTask/PutUploadFile?BillCode="+that.data.detail.BillCode+"&ID="+that.data.id,
       filePath:temppaths,
       name:'image',
       formData:{},
       success:function(res){
        //res.data返回的是一个字符串,需进行转换成objcet,wx不识别eval函数
        console.log(res.Data);
        var objurl= JSON.parse(res.data);
        //重置图片参数
        var temppostionlist=that.data.postionlist;
        for (var i=0;i<temppostionlist.length;i++)
        {
          if (temppostionlist[i]["Type"]==e.currentTarget.dataset.type){           
           temppostionlist[i]["imgurl"]=temppaths;
           temppostionlist[i]["serverimgurl"]=objurl.Body.Data;
           break;
          }            
        } 
        that.setData( {  
             postionlist:temppostionlist  
        })        
       }
      })
    }
   })
 }

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# 小程序  # 动态绑定数据  # 微信小程序  # 动态事件处理  # 微信小程序 冒泡事件原理解析  # 微信小程序bindtap事件与冒泡阻止详解  # 微信小程序冒泡事件及其阻止方法实例分析  # 微信小程序 触控事件详细介绍  # 微信小程序 页面滑动事件的实例详解  # 微信小程序 实现拖拽事件监听实例详解  # 微信小程序之绑定点击事件实例详解  # 微信小程序学习总结(四)事件与冒泡实例分析  # 的是  # 就能  # 希望能  # 谢谢大家  # 转换成  # 绑定  # 上传图片  # 传至  # 再循环  # length  # postionlist  # dataset  # currentTarget  # temppostionlist  # JSON  # parse  # res  # objurl  # setData  # break 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何彻底卸载建站之星软件?  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  独立制作一个网站多少钱,建立网站需要花多少钱?  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  网站制作免费,什么网站能看正片电影?  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  北京网站制作公司哪家好一点,北京租房网站有哪些?  如何在万网ECS上快速搭建专属网站?  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  如何制作一个表白网站视频,关于勇敢表白的小标题?  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  香港服务器网站推广:SEO优化与外贸独立站搭建策略  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  动图在线制作网站有哪些,滑动动图图集怎么做?  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  java获取注册ip实例  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  如何自定义建站之星模板颜色并下载新样式?  西安专业网站制作公司有哪些,陕西省建行官方网站?  如何在Tomcat中配置并部署网站项目?  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  如何在建站主机中优化服务器配置?  如何快速搭建高效简练网站?  C#如何调用原生C++ COM对象详解  Android滚轮选择时间控件使用详解  Laravel如何使用Vite进行前端资源打包?(配置示例)  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  EditPlus中的正则表达式 实战(1)  php json中文编码为null的解决办法  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  浅析上传头像示例及其注意事项  Laravel如何升级到最新版本?(升级指南和步骤)  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  如何快速生成橙子建站落地页链接?  C++时间戳转换成日期时间的步骤和示例代码  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  三星网站视频制作教程下载,三星w23网页如何全屏?  网站页面设计需要考虑到这些问题  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】