微信小程序——列表项实现单选功能

此代码示例展示了如何在微信小程序中使用`<radio-group>`和`<scroll-view>`实现选项滚动选择。当用户选择一个选项时,程序会更新所有选项的选中状态,并将视图滚动到所选选项。`radioChange`函数处理选择事件,`deviceList`包含了选项数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现的需求如下:
在这里插入图片描述
index.wxml:

<view class="container">
  <scroll-view scroll-y="true" style="height:100vh;overflow:hidden;background-color:#fff;" scroll-into-view="{{toView}}"
    scroll-top="{{scrollTop}}">
    <radio-group bindchange="radioChange">
      <label wx:for="{{deviceList}}" wx:key="value" class="device-list">
        <view>{{item.name}}</view>
        <view>
          <radio value="{{item.value}}" checked="true" />
        </view>
      </label>
    </radio-group>
  </scroll-view>
</view>

index.wxss:

.container{
  width: 100vw;
  height: 100vh;
}

.device-list{
  box-sizing: border-box;
  padding: 26rpx 6%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #eee;
}

index.js:

Page({
  data:{
    deviceList:[
      {value: 'USA', name: '美国'},
      {value: 'CHN', name: '中国', checked: 'true'},
      {value: 'BRA', name: '巴西'},
      {value: 'JPN', name: '日本'},
      {value: 'ENG', name: '英国'},
      {value: 'FRA', name: '法国'},
    ]
  },
  radioChange(e) {
    console.log('radio发生change事件,携带value值为:', e.detail.value)

    const deviceList = this.data.deviceList
    for (let i = 0, len = deviceList.length; i < len; ++i) {
      deviceList[i].checked = deviceList[i].value === e.detail.value
    }

    this.setData({
      deviceList
    })
  }
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值