想要实现的效果如下

切换按钮 - 图1

页面代码

  1. <view class="">
  2. <view class="zhifu_zf" v-for="(payStypeVal, index) in payStype" :key="index" @click="zhifuChange(index)">
  3. <label for=""><image :src="payStypeVal.image" mode="" class="zhifu_image"></image></label>
  4. <label for="" class="zhifu_zf_zi">{{ payStypeVal.name }}</label>
  5. <label for="" class=""><image :src="isCheckState==index?iconsel: iconNosel" class="section" :class="isCheckState==index?iconsel: iconNosel" ></image></label>
  6. <view class="xian"></view>
  7. </view>
  8. </view>
  9. import weixin from '../../static/kaika_xuanren/jiezhang-icon-wxzf@2x.png'
  10. export default {
  11. data() {
  12. return {
  13. iconsel: "../../static/checkbox_button/jiezhang-icon-anniu-sel.png",
  14. iconNosel: "../../static/checkbox_button/jiezhang-icon-anniu-nor.png",
  15. isCheckState: 0,
  16. payStype:[
  17. { name:"微信支付", image:weixin},
  18. { name:"支付宝支付", image:require('@../../static/kaika_xuanren/jiezhang-icon-zfbzf@2x.png')},
  19. { name:"现金支付", image:'../../static/kaika_xuanren/jiezhang-icon-xjzf@3x.png'}
  20. ]
  21. };
  22. },
  23. methods: {
  24. zhifuChange(index){
  25. this.isCheckState = index;
  26. }
  27. }
  28. }

样式

  1. .zhifu_image {
  2. height: 40upx;
  3. width: 40upx;
  4. margin-left: 10upx;
  5. margin-top: 30upx;
  6. position: relative;
  7. top: 10upx;
  8. }
  9. .zhifu_zf_zi{
  10. padding-left: 20upx;
  11. line-height: 60upx;
  12. }
  13. .zhifu_zf {
  14. margin-left: 30upx;
  15. position: relative;
  16. bottom: 10upx;
  17. width: 610upx;
  18. }
  19. .xian {
  20.     background-color: #e5e5e5;
  21.     width: 100%;
  22.     height: 1upx;
  23.     position: relative;
  24.     top: 10upx;
  25. }