zoukankan      html  css  js  c++  java
  • 小程序自定义组件(2)父向子传参

    tabs:[
          {
            id:0,
            name:"首页",
            isActive:true
          },
          {
            id:1,
            name:"产品分类",
            isActive:false
          },
          {
            id:2,
            name:"购物车",
            isActive:false
          },
          {
            id:3,
            name:"关于",
            isActive:false
          }
        ]
    

      

      

    // components/tabs/tab.js
    Component({
      /**
       * 组件的属性列表
       */
      properties: {
        tabs:{
          type:Array,
          value:[]
        }
      },
    
      /**
       * 组件的初始数据
       */
      data: {
        
      },
    
      /**
       * 组件的方法列表
       */
      methods: {
        //切换选项卡事件
        cuttab(e){
          const {index}=e.currentTarget.dataset;
          let{tabs}=this.data;
    
          tabs.forEach((v,i)=>i===index?v.isActive=true:v.isActive=false);
          this.setData({
            tabs
          })
        }
    
    
    
      }
    })
    

      

    <view wx:for="{{tabs}}" wx:key="id" class="tabs_item {{item.isActive?'active':''}}" bindtap="cuttab" data-index="{{index}}">
                {{item.name}}
    </view>

    相关样式:

    .tabs{
        
    }
    .tabs_title{
        display: flex;
        padding: 10rpx 0rpx;
    }
    .tabs_item{
        flex:1;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .active{
        color: brown;
        border-bottom: 5rpx solid currentColor;    
    }
    .tabs_content{
    
    }
    

     

    效果展示

    隐患问题:点吉看似没有问题但观察AppData选中其它选项卡时isActive值并没有改变。(解决方法见:小程序自定义组件(3)子向父传参)

     

  • 相关阅读:
    第三章 学习ICE 3.0Slice语言
    腾讯
    Websvn的安装
    fedora下装eclipse
    linux快捷键
    windows下SVN解决方案
    用ICE实现一个简单的聊天室
    Tortoise SVN 客户端使用方法
    GCC安装
    在VC++6.0 IDE中配置ICE工程[ ICE FOR VC++6.0 ]
  • 原文地址:https://www.cnblogs.com/JoeYD/p/12882721.html
Copyright © 2011-2022 走看看