当前位置:   article > 正文

【uniapp】原生小程序以及uniapp中如何获取v-for列表中点击行的信息,以及改变每个点击的样式_uniapp获取v-for的其中一个值

uniapp获取v-for的其中一个值

大概就是这个效果,改变颜色不太够,变化效果很离谱的时候得两张图。

先看原生小程序中如何实现:

1.获取点击的是哪个循环中的列表:

  1. <view class="set_list" wx:for="{{paymentDeal}}"
  2. wx:for-item="item" wx:for-index="index" wx:key="index"
  3. //获得循环的下标index
  4. bindtap="change_color" data-index='{{index}}'>
  5. </view>

点击事件:change_color

  1. data:{
  2. myclick:0,
  3. // 选中图标
  4. selt:'../../images/myIcon/phoneset.png',
  5. //未选中图标
  6. noselt:'../../images/myIcon/nophoneset.png'
  7. }
  8. ...
  9. change_color(e){
  10. console.log("click me");
  11. // let click = e.currentTarget.dataset.index
  12. console.log(this.data.myclick);
  13. this.setData({
  14. myclick:e.currentTarget.dataset.index
  15. })
  16. },

通过点击的index值与下标对比如果相等,就能进行下一步更换图片。log一下myclick,已经能拿到点击的是哪一个了。

 点击切换部分:

  1. <view class="set_list" wx:for="{{paymentDeal}}"
  2. wx:for-item="item" wx:for-index="index" wx:key="index"
  3. bindtap="change_color" data-index='{{index}}'>
  4. //三元运算符 如果点击的index等于myclick 使用selt 不等于使用noselt
  5. <image src="{{myclick==index?selt:noselt}}"></image>
  6. {{index}} -- {{myclick}}
  7. </view>
  8. </view>

选中的小圆点变成红色,两张图片一张灰色一张红色。

 {{index}} -- {{myclick}}    

点击后:

 还有一个class样式的三元运算符写法:

   <!-- <view class="{{showimg==1?'youclass':''}}" > -->

 下边两张图为uniapp写法:

  1. <view class="pageItem" v-for="(item, index) in [1, 2, 3, 4, 5, 7, 8]"
  2. //三元运算符写法 第一种本身带样式第二种样式二选一
  3. //:class="['touch_item', item.isTouchMove ? 'touch_move_active' : '']"
  4. :class="currentIndex == index ? 'pageItemActive' : ''" :key="index"
  5. //点击时把item的值传进去(item)
  6. @click="changepage(item)">
  7. {{ item }}
  8. </view>
  1. changepage(item){
  2. console.log(item);
  3. console.log('点击的是'+item);
  4. }

 

 效果一样,下面存两张图。


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/481395
推荐阅读
相关标签
  

闽ICP备14008679号