我的编程空间,编程开发者的网络收藏夹
学习永远不晚

小程序实现页面给自定义组件赋值

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

小程序实现页面给自定义组件赋值

本文实例为大家分享了小程序之页面给自定义组件赋值的具体代码,供大家参考,具体内容如下

1.新建组件:在component下新建一个tabBar

2.组件中的index.wxml结构如下:

<cover-view class="tab-bar">
    <cover-view class="tab-bar-border"></cover-view>
    <cover-view wx:for="{{list}}" wx:key="index" class="tab-bar-item" data-path="{{item.pagePath}}" data-index="{{index}}" bindtap="tabChange">
        <cover-image class="lazy" data-src="{{tabbarIndex === index ? item.selectedIconPath : item.iconPath}}"></cover-image>
        <cover-view style="color: {{tabbarIndex === index ? selectedColor : color}}">{{item.text}}</cover-view>
    </cover-view>
</cover-view>

3.组件中的index.js结构如下:

Component({
  
  options: {
    multipleSlots: true //在组件定义时的选项中启用多slot支持
  },
  properties: {
    list: {// 属性名
      type: Array,
      value: []
    },
    selectedColor:{// 属性名
      type: String,
      value:''
    },
    color:{// 属性名
      type: String,
      value:''
    },
  },

  
  data: {
    tabbarIndex: 0//默认显示第一个tab元素
  },

  lifetimes: {
    attached() {}
  },

  
  methods: {
    //组件的点击事件
    tabChange(e) {
      //获取到底部栏元素的下标
      let index = e.currentTarget.dataset.index;
      this.setData({
        tabbarIndex:index,
      })
  }
})

4.组件中的index.json结构如下:

{
  "component": true,
  "usingComponents": {}
}

5.组件的引用:在页面pages/index/index.json中加入

{
  "navigationBarTitleText": "测试",
  "usingComponents": {
    "mp-tabbar": "../components/tabBar/index"
  }
}

6.在页面pages/index/index.wxml中加入

<view wx:if="{{tabbarIndex == 0}}">111111</view>
<view wx:if="{{tabbarIndex == 1}}">222222</view>
<view wx:if="{{tabbarIndex == 2}}">333333</view>
<mp-tabbar list="{{list}}" id='tabComponent' bind:onMyEvent="switchTab"></mp-tabbar>

7.在页面pages/index/index.js中加入

data: {
    tabbarIndex:0,//默认显示市场
    color: "#555555",
    selectedColor: "#2ea7e0",
    //底部栏
    items: [{
        "text": "市场",
        "iconPath": "/images/bazaar.png",
        "selectedIconPath": "/images/tselected.png",
      },
      {
        "text": "充值",
        "iconPath": "/images/recharge.png",
        "selectedIconPath": "/images/recharge_selected.png",
      }, {
        "text": "车队",
        "iconPath": "/images/market.png",
        "selectedIconPath": "/images/market_selected.png",
      }
    ]
  },
  onShow: function () {
    this.tabComponent = this.selectComponent('#tabComponent');
    let selectedColor = this.data.selectedColor;
    let color = this.data.color;
    this.tabComponent.setData({
      selectedColor: selectedColor,
      color:color
   })
   console.log(this.tabComponent.data.tabbarIndex)
  },

8.最终效果如图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

小程序实现页面给自定义组件赋值

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何实现小程序的自定义组件

要实现小程序的自定义组件, 需要以下步骤:创建一个自定义组件的文件夹,例如 components/myComponent。在该文件夹下创建一个 WXML 模板文件(myComponent.wxml),用来定义组件的结构。创建一个 WXSS
如何实现小程序的自定义组件
2024-04-17

微信小程序如何实现自定义弹窗组件

本篇内容主要讲解“微信小程序如何实现自定义弹窗组件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序如何实现自定义弹窗组件”吧!首先,放一下,最终的效果图:这是我们最后要实现的效果那么,首
2023-07-02

微信小程序怎么自定义组件与页面的相互传参

本篇内容介绍了“微信小程序怎么自定义组件与页面的相互传参”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 自定义组件小程序允许我们使用自定
2023-06-30

小程序开发实战指南之封装自定义弹窗组件

最近在做公司的小程序项目,发现设计上有很多不统一,代码上有很多冗余,下面这篇文章主要给大家介绍了关于小程序开发实战指南之封装自定义弹窗组件的相关资料,需要的朋友可以参考下
2022-11-13

uniapp 给自定义组件或uview等ui组件加class样式或修改样式在微信小程序不生效的情况

原因: 首先不论是自定义组件还是ui组件,本质上的原因都是微信小程序默认的组件隔离策略导致的。 微信小程序组件隔离文档参考 下面根据不同情况的解决方法: 1.在原有class上修改样式 比如我在uview radio 单选组件的原有clas
2023-08-17

编程热搜

目录