zoukankan      html  css  js  c++  java
  • 微信小程序之 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);
            },
        }
    })





  • 相关阅读:
    C#中发送邮件,包含Html代码 CDO.Message
    CodeSmith生成SQL Server视图的实体类脚本/对应的生成模板
    分享到微信朋友圈
    获取验证码效果和后台代码(js+html+cs)
    弹出遮罩层
    WebAPI上传文件
    zoj1665 dij变形
    hdu1535 SPFA
    hdu1217 floyd
    poj1703 并查集
  • 原文地址:https://www.cnblogs.com/baiyygynui/p/11509957.html
Copyright © 2011-2022 走看看