使用hbuilder写的uniapp小程序,拿不到当前点击项咋么办?只能拿到坐标,需要添加什么参数吗?
如果你使用的是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获取对应的数据
}
拿不到currentTarget属性,打印只有一个坐标数据
v-for="(item, index) in list" :key="item.index" @tap="getItem(list[index])" 利用索引来拿