秋绥冬禧. 2023-04-15 09:17 采纳率: 50%
浏览 29
已结题

小程序拿不到当前item数据?

使用hbuilder写的uniapp小程序,拿不到当前点击项咋么办?只能拿到坐标,需要添加什么参数吗?

img

  • 写回答

2条回答 默认 最新

  • Deng872347348 2023-04-15 10:25
    关注

    如果你使用的是uni-app,可以在wxml文件中给点击的元素绑定一个事件处理函数,通过事件对象的currentTarget属性可以获取到当前点击的元素节点,再通过dataset属性可以获取到当前点击的元素的自定义属性中的值,示例代码如下:

    <view class="item" data-id="1" @tap="handleItemClick">点击项1</view>
    
    
    handleItemClick(e) {
      const itemId = e.currentTarget.dataset.id
      console.log('当前点击项的ID是:', itemId)
    }
    

    如果你使用的是原生小程序,则可以通过调用Page对象的setData方法把当前点击的项的信息保存到页面的数据中,再在其他地方使用这个数据即可。

    <view class="item" data-id="1" @tap="handleItemClick(item)">点击项1</view>
    
    
    ```  拿到当前点击项如下:
    要获取当前的点击项,可以在handleItemClick函数中添加一个参数(一般命名为item或event),参数中包含了关于点击项的详细信息,例如data-id属性。可以通过item.currentTarget.dataset.id来获取当前点击项的data-id属性的值。例如:
    
    
    ```javascript
    handleItemClick: function(item) {
      var id = item.currentTarget.dataset.id; // 获取当前点击项的data-id属性的值
      console.log("当前点击项的id是:" + id);
      // 在这里可以进行后续操作,比如根据id获取对应的数据
    }
    
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月9日
  • 修改了问题 4月15日
  • 创建了问题 4月15日

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记