微信小程序slider應用,可加減的slider控制


<view class="control-w ">
    <block wx:for="{{controls}}" wx:key="id" wx:for-item="v">
      <view class="slide-item">
        <view class="itemName">{{v.name}}</view>
        <view class="slidewrap">
          <text class="s-con" data-id="{{v.id}}" bindtap="minusCount">-</text>
          <slider class="slide" bindchange="sliderchange" step="10" value="{{v.value}}" data-id="{{v.id}}" max="{{v.max}}" min="0" wx:if="{{index<3}}" />
          <slider class="slide" bindchange="sliderchange" step="10" value="{{v.value}}" data-id="{{v.id}}" max="{{v.max}}" min="0" wx:if="{{index==3}}" />
          <text class="s-con" data-id="{{v.id}}" data-max="{{v.max}}" bindtap="addCount">+</text>
        </view>
      </view>
    </block>
  </view>

頁面結構

Page({
  data: {
    controls: [
      {
        id: 1,
        name: '功能一',
        value: 30,
        max: 60
      },
      {
        id: 2,
        name: '功能二',
        value: 30,
        max: 60
      },
      {
        id: 3,
        name: '功能三',
        value: 30,
        max: 60
      },
      {
        id: 4,
        name: '功能四',
        value: 50,
        max: 100
      }
    ]
  },
 
  // 控制加
  addCount: function (event) {
    let data = event.currentTarget.dataset
    let controls = this.data.controls
    let control = controls.find(function (v) {
      return v.id == data.id
    })
    let control1 = controls.find(function (v) {
      return v.max == data.max
    })
  
    if (control.value > control1.max)
      return
    control.value += 10;
    this.setData({
      'controls': controls
    })
  },
  // 控制減
  minusCount: function (event) {
    let data = event.currentTarget.dataset
    let controls = this.data.controls
    let control = controls.find(function (v) {
      return v.id == data.id
    })
    if (control.value <= 0)
      return
    control.value -= 10;
    this.setData({
      'controls': controls
    })
  },
  //拖動
  sliderchange: function (e) {
    let data = e.currentTarget.dataset
    let controls = this.data.controls
    let control = controls.find(function (v) {
      return v.id == data.id
    })
    this.setData({
      'controls': controls
    })
 
  }
})

js結構

頁面樣式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM