编程语言
首页 > 编程语言> > 微信小程序之 catalog 切换

微信小程序之 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);
        },
    }
})

 






标签:index,catalogData,微信,catalog,切换,当前,组件,curIndex
来源: https://www.cnblogs.com/baiyygynui/p/11509957.html