微信小程序(一)多个按钮选中的联动效果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序(一)多个按钮选中的联动效果相关的知识,希望对你有一定的参考价值。

参考技术A 场景:画图应用需选择画笔颜色,有4种颜色按钮可供选择,用户点击任意按钮进行颜色切换。
思路:通过curColorIndex变量保存当前选中的颜色下标,选中后添加额外的选中样式

布局的约束

这里通过wx:for实现循环打印颜色数组,通过curColorIndex值控制选中的样式,index值进行参数传递

onLoad:function这个函数在页面加载时就会执行一次,所以这里可以加载默认颜色数据,同时wxml用到了curColorIndex以及data_color,所以在data里定义。

微信小程序之 catalog 切换

组件名称:catalog

组件属性:catalogData,type:String

组件描述:这是一个子组件,数据从父组件中传递

效果图:

技术图片

 

 catalog 目录为多个,使用 scroll-view 容器。但是在当前组件中,只写每个 catalog 数据展示并实现 catalog 切换效果,这样会保证当前组件的最小粒度。

分析当前组件可能用到的属性为:组件名称,切换状态,未选中状态,切换点击方法。

<block wx:for="catalogData" wx:key="id" wx:for-item="item" class="item">
    <view class="scroll-view-item catalog-title curIndex == index ? ‘catalog-active‘ : ‘catalog-normal‘" data-index="index" catchtap="goIndex">item.catalog</view>
</block>
curIndex 为点击当前 catalog 时获取的 index
index 为 catalogData 这个数组默认的 index, 也就是 data-index 的值
goIndex 为点击当前 catalog 的方法,通过点击获取到 curIndex 的值

通过判断当前 curIndex 是否与数组中的 index 是否相等,如果相等,则给当前 catalog 添加选中的样式 catalog-active,否则添加 catalog-normal。
更新默认 curIndex 的默认值

Component(
  /**
   * 组件的属性列表
   */
  properties: 
    catalogData:
      type: Array,
    
  ,

  /**
   * 组件的初始数据
   */
  data: 
      curIndex:0
  ,
    
    /**
      * 组件的方法列表
      */
    methods: 
        goIndex(event) 
            let nextIndex = event.currentTarget.dataset.index;
            this.setData(
                curIndex: nextIndex
            )
           
            console.log(this.data.curIndex + ‘=‘ + nextIndex);
        ,
    
)

 






以上是关于微信小程序(一)多个按钮选中的联动效果的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序省市联动

微信小程序右到左联动

微信小程序之多级联动菜单

微信小程序实现左右联动的菜单列表

微信小程序自定义picker组件

微信小程序二级联动,如何使第一列数据与特定的第二列数据对应(数据动态获取,后台)?