原创: 自定义tabs切换组件并使用(微信小程序中

摘要:
1) TabsTop.wxml此案例位于微信小程序˂--HomeOriginal产品关于{item.name}}内容2:tabsTop.js/components/Tabs/tabsTop.jsComponent({/***组件的属性列表*/properties:{},/**组件的初始数据*/data:{msg:“tab columns”,Tabs:[{id:0,名称:'主页',isActive:true,},{id:1,名称:'original',isActive:false,}、{id:2,名称:‘商品',isActive:false,},{id:3,name:“About”,isActive:false,},],}、/***组件方法列表*/方法:{handleSelect:function(e){console.log(e);console.log(e.currentTarget.dataset.index);letindexClick=e.currentTarget.dedataset.index/*let{tabs}=this.data;1: 上述语句使用解构赋值。通过解构赋值,可以从对象/数组中获取属性/值,并将其赋值给其他变量。五、 isActive=true:V.isActive=false)/*setData函数主要用于将逻辑层数据发送到视图层,并相应地更改this.data.x的值*/Vartest03=“test03的值”this。setDataconsole。日志控制台。日志控制台。log//解析赋值语法是一个javascript表达式。

原创: 自定义tabs切换组件并使用(微信小程序中第1张

1)TabsTop.wxml   此案例是在微信小程序中

<!-- components/Tabs/TabsTop.wxml -->
<text>components/Tabs/TabsTop.wxml</text>
<button type="primary">组件TabsTop</button>
<view class="header">
		<!-- 导航 -->
		<view class="tabs-group">
				<!-- <view class="item active">首页</view>
    <view class="item">原创</view>
    <view class="item">产品</view>
    <view class="item">关于</view> -->
				<view wx:for="{{ tabs }}" wx:for-index="{{ index }}" wx:for-item="item" wx:key="id" class="item {{item.isActive?'active':''}}" bindtap="handleSelect"
        data-index="{{item.id}}"
        >
						{{item.name}}
				</view>
		</view>
		<view class="content">content</view>
		<view></view>
</view>

 2:tabsTop.js

// components/Tabs/TabsTop.js
Component ({
  /**
   * 组件的属性列表
   */
  properties: {},

  /**
   * 组件的初始数据
   */
  data: {
    msg:'tabs分栏',
    tabs: [
      {
        id: 0,
        name: '首页',
        isActive: true,
      },
      {
        id: 1,
        name: '原创',
        isActive: false,
      },
      {
        id: 2,
        name: '商品',
        isActive: false,
      },
      {
        id: 3,
        name: '关于',
        isActive: false,
      },
    ],
  },

  /**
   * 组件的方法列表
   */
  methods: {
    handleSelect: function (e) {
      console.log (e);
      console.log (e.currentTarget.dataset.index);
      let indexClick=e.currentTarget.dataset.index
      /* 
       let {tabs}=this.data;
       1:如上语句采用解构赋值,通过解构赋值, 可以将属性/值从对象/数组中取出,赋值给其他变量。
       2:如上操作修改就不会更改this.data.tabs里的值。强调{tabs}是this.data的属性,非被复制对象的数据名称则不可以 
      */
      let {tabs}=this.data;
      console.log(this.data)
      console.log(tabs)
      /* 
      通过解构赋值到新的变量名为tabs的数组(存放对象)中,循环拿出比较对象的为v
      v.isActive是某个对象的属性isActive的值
      */
      tabs.forEach((v,i)=>i===indexClick?v.isActive=true:v.isActive=false)
      /* 
      setData函数主要用于将逻辑层数据发送到视图层,同时对应的改变this.data.x的值。
      */
     var test03="test03的值哦"
      this.setData({
        tabs,
        test03  //虽然this.data数据中没test03,
      })

      console.log(tabs)
      console.log("-----------------解构赋值--------------------")
      console.log(this.data.test03)
    //解析赋值语法是一种javascript表达式。通过解构赋值,可以将属性/值从对象/数组中取出,赋值给其他变量。 

    },
  },
});

 3:tabsTop.wxss

.header{}
.tabs-group{
  display: flex;
  padding: 10rpx;
}
.item{
  flex:auto;
  justify-content: center;
  display: flex;
}
.content{}
.active{
  border-bottom: 10rpx solid red;
}

 4:tabsTop.json

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

 "component": true,  表示采用是组件

二:使用自定义组件

1:引入组件 如在componentUsed.json

原创: 自定义tabs切换组件并使用(微信小程序中第2张

 2:使用自定义组件   componentUsed.wxml 

原创: 自定义tabs切换组件并使用(微信小程序中第3张

免责声明:文章转载自《原创: 自定义tabs切换组件并使用(微信小程序中》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇一款优秀的前端JS框架—AngularJSPageAdmin网站内容管理系统出现403错误的解决方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

pthread实现多线程查询(转)

导读:大多数网站的性能瓶颈不在PHP服务器上,因为它可以简单地通过横向增加服务器或CPU核数来轻松应对(对于各种云主机,增加VPS或CPU核数就更方便了,直接以备份镜像增加VPS,连操作系统、环境都不用安装配置),而是在于MySQL数据库。如果用 NoSQL 数据库,也许需要十次查询,才能处理完同样地业务逻辑。此时PHP多线程的作用非常明显,它可以同时执行...

[微信小程序]实现一个自定义遮罩层

正文: 先上效果图: 点击按钮Show显示遮罩层,再次点击屏幕任何地方隐藏遮罩层; <button bindtap="showview">Show</button> <view class="bg" bindtap='hideview' style='display:{{display}}'></view>...

iview表格动态数据实现合并功能

需求原型:    代码实现: html部分: <Row> <Col span="24"> <Table stripe border :columns="columns1" :data="formData.dataTable" :span-method=...

JavaScript单元测试工具-Jest

标注: 首先这并不是一篇完整的关于Jest的教程,只是个人在接触jest学习的一点随手笔记,大部分内容都是对官方文档的一些翻译。 ------------------------------------------------------------------------------------------------------------------...

微信小程序之自定义模态弹窗(带动画)实例

一、前期准备工作 软件环境:微信开发者工具官方下载地址:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html 1、基本需求。 实现用户自定义弹框 带动画(动画可做参靠,个人要是觉得不好看可以自定义动画) 获取弹出框的内容,自定义事件获取 二、程序实现具体步骤 1.弹框index...

Android中的沉浸式状态栏效果

无意间了解到沉浸式状态栏,感觉贼拉的高大上,于是就是试着去了解一下,就有了这篇文章。下面就来了解一下啥叫沉浸式状态栏。传统的手机状态栏是呈现出黑色条状的,有的和手机主界面有很明显的区别。这一样就在一定程度上牺牲了视觉宽度,界面面积变小。Google从android kitkat(Android 4.4)开始,给我们开发者提供了一套能透明的系统ui样式给状态...