返回顶部
首页 > 资讯 > 移动开发 >小程序中如何使用自定义组件应用及搭建个人中心布局
  • 114
分享到

小程序中如何使用自定义组件应用及搭建个人中心布局

小程序 2023-10-23 06:10:05 114人浏览 独家记忆
摘要

一,自定义组件 从小程序基础库版本 1.6.3 开始,小程序支持简洁的组件化编程。所有自定义组件相关特性都需要基础库版本 1.6.3 或更高。 开发者可以将页面内的功能模块抽象成自定义组件,以便在不同的页面中重复使用;也可以将复杂的页

一,自定义组件

小程序基础库版本 1.6.3 开始,小程序支持简洁的组件化编程。所有自定义组件相关特性都需要基础库版本 1.6.3 或更高。

开发者可以将页面内的功能模块抽象成自定义组件,以便在不同的页面中重复使用;也可以将复杂的页面拆分成多个低耦合的模块,有助于代码维护。自定义组件在使用时与基础组件非常相似

创建自定义组件

1.1 建立文件

1.2 修改文件及添加文件

类似于页面,一个自定义组件由 JSON wxml wxss js 4个文件组成。要编写一个自定义组件,首先需要在 json 文件中进行自定义组件声明(将 component 字段设为 true 可将这一组文件设为自定义组件):

首先需要在 json 文件中进行自定义组件声明(将 component 字段设为 true 可将这一组文件设为自定义组件)

tabs.json:

在project.config.json添加行代码 :

二,个人中心布局

2.1 创建自定义组件

tabs.wxml:

                        {{item}}                                        

tabs.wxss:

.tabs {    position: fixed;    top: 0;    width: 100%;    background-color: #fff;    z-index: 99;    border-bottom: 1px solid #efefef;    padding-bottom: 20rpx;} .tabs_title {        width: 90%;    display: flex;    font-size: 9pt;    padding: 0 20rpx;} .title_item {    color: #999;    padding: 15rpx 0;    display: flex;    flex: 1;    flex-flow: column nowrap;    justify-content: center;    align-items: center;} .item_active {        color: #000000;    font-size: 11pt;    font-weight: 800;} .item_active1 {        color: #000000;    font-size: 11pt;    font-weight: 800;    border-bottom: 6rpx solid #333;    border-radius: 2px;}

 tabs.js:

var App = getApp();Component({    properties: {    tabList:Object  },     data: {    tabIndex:0  },     methods: {    handleItemTap(e){      // 获取索引      const {index} = e.currentTarget.dataset;      // 触发 父组件的事件      this.triggerEvent("tabsItemChange",{index})      this.setData({          tabIndex:index      })    }  }})

 2.2 使用自定义组件

需要在哪个页面中进行使用,就需要在哪个页面中进行引用配置.

比如说 : 需要在会议页面中进行使用,就要在会议页面.json (meeting/list/list.json)下配置即可。

本案例是配置在会议模块中,那就是在.json (meeting/list/list.json)中配置。

meeting目录下的list.json:

{  "usinGComponents": {    "tabs": "/components/tabs/tabs"  }}

meeting目录下的list.js的data中定义属性:

 tabs:['会议中','已完成','已取消','全部会议']

meeting目录下的list.wxml:

效果:

2.3 会议模块布局

    点击相应的内容显示相应的数据,我们只需将所点击内容的index值传递,根据index值的不同进行不同数据的遍历即可

2.3.1 数据

在list.js定义:

// pages/meeting/list/list.jsPage({     data: {    tabs:['会议中','已完成','已取消','全部会议'],    lists: [      {        'id': '1',        'image': '/static/persons/1.jpg',        'title': '对话产品总监 | 深圳·北京PM大会 【深度对话小米/京东/等产品总监】',        'num':'304',        'state':'进行中',        'time': '10月09日 17:59',        'address': '深圳市·南山区'      },      {        'id': '2',        'image': '/static/persons/2.jpg',        'title': 'ai WORLD 2016世界人工智能大会',        'num':'380',        'state':'进行中',        'time': '10月09日 17:39',        'address': '北京市·朝阳区'      },      {        'id': '3',        'image': '/static/persons/3.jpg',        'title': 'H100太空商业大会',        'num':'500',        'state':'进行中',        'time': '10月09日 17:31',        'address': '大连市'      },      {        'id': '1',        'image': '/static/persons/4.jpg',        'title': '报名年度盛事,大咖云集!2016凤凰国际论坛邀您“与世界对话”',        'num':'150',        'state':'进行中',        'time': '10月09日 17:21',        'address': '北京市·朝阳区'      },      {        'id': '1',        'image': '/static/persons/5.jpg',        'title': '新质生活 · 品质时代 2016消费升级创新大会',        'num':'217',        'state':'进行中',        'time': '10月09日 16:59',        'address': '北京市·朝阳区'      }    ],    lists1: [      {        'id': '1',        'image': '/static/persons/7.jpg',        'title': '对话产品总监 | 深圳·北京PM大会 【深度对话小米/京东/等产品总监】',        'num':'304',        'state':'已结束',        'time': '10月09日 17:59',        'address': '深圳市·南山区'      },      {        'id': '1',        'image': '/static/persons/6.jpg',        'title': 'AI WORLD 2016世界人工智能大会',        'num':'380',        'state':'已结束',        'time': '10月09日 17:39',        'address': '北京市·朝阳区'      },      {        'id': '1',        'image': '/static/persons/1.jpg',        'title': 'H100太空商业大会',        'num':'500',        'state':'已结束',        'time': '10月09日 17:31',        'address': '大连市'      }    ],    lists2: [      {        'id': '1',        'image': '/static/persons/4.jpg',        'title': '对话产品总监 | 深圳·北京PM大会 【深度对话小米/京东/等产品总监】',        'num':'304',        'state':'进行中',        'time': '10月09日 17:59',        'address': '深圳市·南山区'      },      {        'id': '1',        'image': '/static/persons/3.jpg',        'title': 'AI WORLD 2016世界人工智能大会',        'num':'380',        'state':'已结束',        'time': '10月09日 17:39',        'address': '北京市·朝阳区'      }    ],    lists3: [      {        'id': '1',        'image': '/static/persons/7.jpg',        'title': '对话产品总监 | 深圳·北京PM大会 【深度对话小米/京东/等产品总监】',        'num':'304',        'state':'进行中',        'time': '10月09日 17:59',        'address': '深圳市·南山区'      },      {        'id': '1',        'image': '/static/persons/2.jpg',        'title': 'AI WORLD 2016世界人工智能大会',        'num':'380',        'state':'已结束',        'time': '10月09日 17:39',        'address': '北京市·朝阳区'      },      {        'id': '1',        'image': '/static/persons/4.jpg',        'title': 'H100太空商业大会',        'num':'500',        'state':'进行中',        'time': '10月09日 17:31',        'address': '大连市'      },      {        'id': '1',        'image': '/static/persons/5.jpg',        'title': '报名年度盛事,大咖云集!2016凤凰国际论坛邀您“与世界对话”',        'num':'150',        'state':'已结束',        'time': '10月09日 17:21',        'address': '北京市·朝阳区'      },      {        'id': '1',        'image': '/static/persons/1.jpg',        'title': '新质生活 · 品质时代 2016消费升级创新大会',        'num':'217',        'state':'进行中',        'time': '10月09日 16:59',        'address': '北京市·朝阳区'      }    ]  },  tabsItemChange(e){    let tolists;    if(e.detail.index==1){        tolists = this.data.lists1;    }else if(e.detail.index==2){        tolists = this.data.lists2;    }else{        tolists = this.data.lists3;    }    this.setData({        lists: tolists    })},    onLoad(options) {   },     onReady() {   },     onShow() {   },     onHide() {   },     onUnload() {   },     onPullDownRefresh() {   },     onReachBottom() {   },     onShareAppMessage() {   }})
2.1.2 显示

在list.wxml定义:

                                                    {{item.title}}                            {{item.state}}                {{item.num}}人报名                        {{item.address}}|{{item.time}}             到底啦
2.1.3 样式

在list.wxss定义:

.list {  display: flex;  flex-direction: row;  width: 100%;  padding: 0 20rpx 0 0;  border-top: 1px solid #eeeeee;  background-color: #fff;  margin-bottom: 5rpx;  } .list-img {  display: flex;  margin: 10rpx 10rpx;  width: 150rpx;  height: 220rpx;  justify-content: center;  align-items: center;} .list-img .video-img {  width: 120rpx;  height: 120rpx;  } .list-detail {  margin: 10rpx 10rpx;  display: flex;  flex-direction: column;  width: 600rpx;  height: 220rpx;} .list-title text {  font-size: 11pt;  color: #333;  font-weight: bold;} .list-detail .list-tag {  display: flex;  height: 70rpx;} .list-tag .state {  font-size: 9pt;  color: #81aaf7;  width: 120rpx;  border: 1px solid #93b9ff;  border-radius: 2px;  margin: 10rpx 0rpx;  display: flex;  justify-content: center;  align-items: center;} .list-tag .join {  font-size: 11pt;  color: #bbb;  margin-left: 20rpx;  display: flex;  justify-content: center;  align-items: center;} .list-tag .list-num {  font-size: 11pt;  color: #ff6666;} .list-info {  font-size: 9pt;  color: #bbb;  margin-top: 20rpx;}.bottom-line{  display: flex;  height: 60rpx;  justify-content: center;  align-items: center;  background-color: #f3f3f3;}.bottom-line text{  font-size: 9pt;  color: #666;}

效果:

三、个人中心布局

3.1 布局

在个人中心页面中编写 .wxml 文件如 : ucenter/index/index.wxml)进行页面显示

布局

index.wxml:

        Bing    修改                    我主持的会议        5        👍                            我参与的会议        3        👌                        我发布的投票        6        👆                            我参与的投票        8        👇                        信息        👉                            设置        👉    

3.2 样式

ucenter/index/index.wxss下编写即可

index.wxss:

Page{  background-color: rgba(135, 206, 250, 0.075);}.user{  display: flex;  width: 100%;  align-items:center;  background-color: white;  margin-bottom: 28rpx;}.user-img{height: 170rpx;width: 170rpx;margin: 30rpx;border: 1px solid #cdd7ee;border-radius: 6px;}.user-name{width: 380rpx;margin-left: 20rpx;font-weight: 550;}.user-up{color: rgb(136, 133, 133);}.cells{  background-color: white;}.cell-items{  display: flex;  align-items:center;   height: 110rpx;}.cell-items-title{  width: 290rpx;}.cell-items-icon{  width: 50rpx;  height: 50rpx;  margin: 20rpx;}.cell-items-num{  padding-left: 30rpx;  margin-left: 200rpx;  width: 70rpx;}.cell-items-ion{  margin-left: 295rpx;}

效果:

来源地址:https://blog.csdn.net/m0_73192864/article/details/133902935

--结束END--

本文标题: 小程序中如何使用自定义组件应用及搭建个人中心布局

本文链接: https://lsjlt.com/news/440171.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 小程序中如何使用自定义组件应用及搭建个人中心布局
    一,自定义组件 从小程序基础库版本 1.6.3 开始,小程序支持简洁的组件化编程。所有自定义组件相关特性都需要基础库版本 1.6.3 或更高。 开发者可以将页面内的功能模块抽象成自定义组件,以便在不同的页面中重复使用;也可以将复杂的页...
    99+
    2023-10-23
    小程序
  • 微信小程序中如何自定义创建和使用组件
    在微信小程序中,可以通过使用自定义组件来实现对页面上重复使用的部分进行封装和复用。下面是在微信小程序中自定义创建和使用组件的步骤: ...
    99+
    2024-04-09
    微信小程序
  • 微信小程序中如何自定义组件
    这篇文章将为大家详细讲解有关微信小程序中如何自定义组件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在微信小程序开发过程中,对于一些可能在多个页面都使用的页面模块,可以把它封装成一个组件,以提高开发效率。...
    99+
    2023-06-29
  • 小程序如何实现自定义通用toast组件
    这篇文章主要为大家展示了“小程序如何实现自定义通用toast组件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“小程序如何实现自定义通用toast组件”这篇文章吧...
    99+
    2024-04-02
  • 微信小程序中如何使用自定义字体
    这篇文章主要介绍了微信小程序中如何使用自定义字体的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序中如何使用自定义字体文章都会有所收获,下面我们一起来看看吧。技术难点1. 微信限制大家开发过微信小程序的应...
    99+
    2023-06-29
  • 如何在Vue CLI中使用自定义组件
    在Vue.js框架下,使用自定义组件能够大大提高项目的开发效率。Vue CLI是一个基于Vue.js快速搭建项目的脚手架工具,Vue CLI的快速开发流程便于开发人员更快速地搭建项目。本篇文章将介绍如何在Vue CLI中使用自定义组件。一、...
    99+
    2023-05-14
  • 如何在Android应用中自定义一个控件
    本篇文章为大家展示了如何在Android应用中自定义一个控件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。开发自定义控件的步骤:了解View的工作原理 2、 编写继承自View的子类3、 为自定义V...
    99+
    2023-05-31
    android roi
  • 详解如何在Flutter中用小部件创建响应式布局
    目录前提条件使用容器的问题展开式小组件的介绍灵活小组件的介绍设置一个示例应用程序代码执行扩展的小部件例子灵活部件的例子扩大的和灵活的部件之间的区别总结构建响应式屏幕布局意味着编写一段...
    99+
    2024-04-02
  • 微信小程序组件中如何使用contact-button组件
    这篇文章将为大家详细讲解有关微信小程序组件中如何使用contact-button组件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。微信小程序组件 contact-butt...
    99+
    2024-04-02
  • 微信小程序中如何使用scroll-view实现flex布局
    小编给大家分享一下微信小程序中如何使用scroll-view实现flex布局,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1.效果图2.在scroll-view里加一层容器,使用flex布...
    99+
    2024-04-02
  • 一文详解uniapp中如何使用easycom自定义组件
    目录一、全局注册二、局部注册第一种:传统vue规范第二种:通过uni-app的easycom规则第三种方法:通过npm安装总结一、全局注册 uni-app 支持配置全局组件,需在 m...
    99+
    2023-05-18
    uniapp easycom uniapp 自定义组件 uniapp easycom自定义组件
  • video组件如何在微信小程序中使用
    video组件如何在微信小程序中使用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.app.json{  "pages":[&nb...
    99+
    2023-06-14
  • 微信小程序中如何使用vant组件库
    本篇内容介绍了“微信小程序中如何使用vant组件库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Vant Weapp的安装与使用1、安装 n...
    99+
    2023-07-05
  • 微信小程序中如何在组件上使用wx:for控制属性绑定一个数组
    这篇文章主要介绍微信小程序中如何在组件上使用wx:for控制属性绑定一个数组,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!wx:for在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染...
    99+
    2023-06-26
  • 小程序之修改引用的vant组件样式(包括自定义组件中的vant样式)
    今天在写小程序的时候,刚好遇到,以前遇到解决了之后忘记记录,今天记录下! 一般组件的基础样式会跟ui设计稿有些出入,就得改动! 使用vant的话,官方就有提供方法,比如复选框 我在项目中用custom-class居多,设置根节点后就...
    99+
    2023-08-19
    小程序 前端 vant
  • antd vue中,如何在form表单中的自定义组件使用v-decorator
    目录antd vue中在form表单中的自定义组件使用v-decorator问题描述分析简单说明v-decorator antd vue的理解总结antd vue中在form表单中的...
    99+
    2023-05-17
    antd vue form表单自定义组件 自定义组件v-decorator
  • 小程序中的Log日志系统该如何搭建和使用
    这篇文章主要为大家分析了小程序中的Log日志系统该如何搭建和使用的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“小程序中的Log日志系统该如何搭建和使用”的知...
    99+
    2023-06-28
  • C++中如何使用Cmake来搭建跨平台的应用程序框架
    这篇文章主要介绍了C++中如何使用Cmake来搭建跨平台的应用程序框架,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。示例代码说明1. 功能描...
    99+
    2024-04-02
  • 微信小程序如何使用setData修改数组中的单个对象
    这篇“微信小程序如何使用setData修改数组中的单个对象 ”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序如何使用...
    99+
    2023-06-26
  • 如何将自定义跟踪添加到 Go 中的第二代 App Engine 应用程序?
    学习Golang要努力,但是不要急!今天的这篇文章《如何将自定义跟踪添加到 Go 中的第二代 App Engine 应用程序?》将会介绍到等等知识点,如果你想深入学习Golang,可以关注我!我会持...
    99+
    2024-04-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作