微信小程序框架(五)-全面详解(学习总结---从入门到深化)

news2025/1/10 16:27:30

目录

UI框架_TDesign

 引入TDesign

 UI框架_TDesign组件

 Rate 评分

Toast 轻提示

UI框架_Vant

 使用方式

 引入组件

 UI框架_Vant组件

Overlay 遮罩层 

Grid 宫格

Card 商品卡片


UI框架_TDesign

 TDesign 企业级设计体系(前端UI组件库)

地址:https://tdesign.tencent.com

 支持桌面端、移动端、小程序

 温馨提示

目前组件库处于 Beta 阶段,快速迭代中,请留意版本变化

 引入TDesign

使用 NPM

小程序已经支持使用 NPM 安装第三方包

npm i tdesign-miniprogram -S --production

// 安装完之后,需要在微信开发者工具中对 npm 进行构 建:工具 - 构建 npm

 修改 app.json

将 app.json 中的 "style": "v2" 移除

因为该配置表示启用新版组件样式,将会导致 TDesign 的组件样式 错乱

 使用组件

 以按钮组件为例,只需要在 JSON 文件中引入按钮对应的自定义组件即可

{
  "usingComponents": {
    "t-button": "tdesign-miniprogram/button/button"
 }
}

 接着就可以在 wxml 中直接使用组件

 <t-button type="primary">按钮</t-button>

1. 微信小程序引入UI框架 TDesign 是否可以与微信新版组件样式( v2 ) 共存:

 UI框架_TDesign组件

 

 Rate 评分

全局引入,在 miniprogram 根目录下的 app.json 中配置,局部引入, 在需要引入的页面或组件的 index.json 中配置

{
  "usingComponents": {
    "t-rate": "tdesign-miniprogram/rate/rate"
 }
}

 wxml实现

<view class="demo-rate">
  <view class="demo-rate__title">请点击评分</view>
  <!-- 实心评分,设置属性:variant-->
  <t-rate value="{{ value }}" variant="filled" bind:change="onChange" />
</view>

逻辑实现

Page({
  data: {
    value: 3
 },
  onChange(e) {
    const { value } = e.detail;
    this.setData({
      value
   });
 },
});

Sticky 吸顶容器

全局引入,在 miniprogram 根目录下的 app.json 中配置,局部引入, 在需要引入的页面或组件的 index.json 中配置

"usingComponents": {
    "t-button": "tdesignminiprogram/button/button",
    "t-sticky": "tdesignminiprogram/sticky/sticky"
}

wxml实现

<view class="top">
    <t-sticky offset-top="{{0}}">
        <t-button class="box2" theme="danger" t-class="inner-box" size="small">吸顶距离
        </t-button>
    </t-sticky>
    <view class="box"></view>
</view>

wxss实现

.top {
    margin-top: 100px;
}
.box{
    height: 1000px;
}

Toast 轻提示

 全局引入,在 miniprogram 根目录下的 app.json 中配置,局部引入, 在需要引入的页面或组件的 index.json 中配置

"usingComponents": {
   "t-toast": "tdesign-miniprogram/toast/toast"
}

 逻辑实现

import Toast from 'tdesignminiprogram/toast/index';
Page({
    onLoad() {
        Toast({
            context: this,
            selector: '#t-toast',
            message: '轻提示文字内容',
       });
   }
})
<t-toast id="t-toast" />

UI框架_Vant

 Vant 是一个轻量、可靠的移动端组件库

地址:https://vant-contrib.gitee.io/vant/#/zh-CN

 

 使用方式

步骤一 通过 npm 安装

npm i @vant/weapp -S --production

步骤二 修改 app.json

将 app.json 中的 "style": "v2" 去除,小程序的新版基础组件强行加上 了许多样式,难以覆盖,不关闭将造成部分组件样式混乱。

 步骤三 修改 project.config.json

开发者工具创建的项目, miniprogramRoot 默认为 miniprogram , package.json 在其外部,npm 构建无法正常工作。

需要手动在 project.config.json 内添加如下配置,使开发者工具可以正确 索引到 npm 依赖的位置

{
  ...
  "setting": {
    ...
    "packNpmManually": true,
    "packNpmRelationList": [
     {
        "packageJsonPath": "./package.json",
        "miniprogramNpmDistDir": "./miniprogram/"
     }
   ]
 }
}

温馨提示

由于目前新版开发者工具创建的小程序目录文件结构问题, npm构建的文件目录为miniprogram_npm,并且开发工具会默 认在当前目录下创建miniprogram_npm的文件名,所以新版本 的miniprogramNpmDistDir配置为'./'即可

 步骤四 构建 npm 包

打开微信开发者工具,点击 工具 -> 构建 npm,并勾选 使用 npm 模块 选项,构建完成后,即可引入组件

 引入组件

按钮用于触发一个操作,如提交表单

引入

app.json index.json 中引入组件

"usingComponents": {
  "van-button": "@vant/weapp/button/index"
}

 代码演示

支持 default 、 primary 、 info 、 warning 、 danger 五种类型,默认为 default

<van-button type="default">默认按钮</van-button>
<van-button type="primary">主要按钮</van-button>
<van-button type="info">信息按钮</van-button>
<van-button type="warning">警告按钮</van-button>
<van-button type="danger">危险按钮</van-button>

 UI框架_Vant组件

 使用UI组件库,可以提升开发效率,有一些特效是小程序组件并没有提供的,可以在组件库中寻找

 

Overlay 遮罩层 

创建一个遮罩层,用于强调特定的页面元素,并阻止用户进行其他操作

引入

app.jsonindex.json 中引入组件

"usingComponents": {
  "van-overlay": "@vant/weapp/overlay/index"
}

代码演示

<van-button type="primary" bind:click="onClickShow">显示遮罩层</van-button>
<van-overlay show="{{ show }}" bind:click="onClickHide" />
Page({
  data: {
    show: false
 },
  onClickShow() {
    this.setData({ show: true });
 },
  onClickHide() {
    this.setData({ show: false });
 },
});

Grid 宫格

 宫格可以在水平方向上把页面分隔成等宽度的区块,用于展示内容或进行页面导航

 引入

app.json index.json 中引入组件

"usingComponents": {
  "van-grid": "@vant/weapp/grid/index",
  "van-grid-item": "@vant/weapp/grid-item/index"
}

 代码演示

<van-grid>
  <van-grid-item icon="photo-o" text="文字" />
  <van-grid-item icon="photo-o" text="文字" />
  <van-grid-item icon="photo-o" text="文字" />
  <van-grid-item icon="photo-o" text="文字" />
</van-grid>

Card 商品卡片

商品卡片,用于展示商品的图片、价格等信息

引入

app.json index.json 中引入组件

"usingComponents": {
  "van-card": "@vant/weapp/card/index"
}

代码演示

<van-card
  num="2"
  price="2.00"
  desc="描述信息"
  title="商品标题"
  thumb="{{ imageURL }}"
/>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/82966.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

影响项目进度的因素有哪些?如何跟踪项目计划?

影响项目进度的因素&#xff1a; 1、项目经理能力不足 一名优秀的项目经理&#xff0c;要对制定项目计划、安全、质量、成本管理等各项工作都熟悉&#xff0c;也要能管理好项目团队。 如果无法有效管理团队、没有完全掌握项目管理方法等都是项目经理能力不足的表现&#xff…

跳槽一次能涨多少?今天见识到跳槽天花板。

2022年马上就快结束了&#xff0c;最近内卷严重&#xff0c;各种跳槽裁员&#xff0c;相信很多小伙伴也在准备明年的金三银四的面试计划。 在此分享一套学习笔记 / 面试手册&#xff0c;年后跳槽的朋友可以好好刷一刷&#xff0c;还是挺有必要的&#xff0c;它几乎涵盖了所有的…

软件测试必须要加班吗?

我在面试时一般会问面试官&#xff1a;“公司每次迭代周期多久&#xff1f;加班多么&#xff1f;”这个问题一般都是看这家公司的上班节奏怎么样&#xff0c;加班多不多&#xff0c;自己能不能扛住加班的压力。一般来说&#xff0c;刚进公司&#xff0c;需要对环境、业务、代码…

10:30面试,10:31就出来了 ,问的实在是太...

从外包出来&#xff0c;没想到算法死在另一家厂子 自从加入这家公司&#xff0c;每天都在加班&#xff0c;钱倒是给的不少&#xff0c;所以也就忍了。没想到8月一纸通知&#xff0c;所有人不许加班&#xff0c;薪资直降30%&#xff0c;顿时有吃不起饭的赶脚。 好在有个兄弟内推…

CMake中target_include_directories的使用

CMake中target_include_directories命令用于向target中添加包含目录,其格式如下: target_include_directories(<target> [SYSTEM] [AFTER|BEFORE]<INTERFACE|PUBLIC|PRIVATE> [items1...][<INTERFACE|PUBLIC|PRIVATE> [items2...] ...]) 指定在编译给定targ…

MySQL 事务特性和事务隔离级别

1. MySQL 事务的四大特性 2. MySQL 事务的并发问题 3. MySQL 事务的隔离级别 --------------------------------------------------------- 1. MySQL 事务的四大特性 MySQL 事务具有四个特性&#xff1a;原子性、一致性、隔离性、持久性&#xff0c;这四个特性简称 ACID 特性…

写文章常用的几款软件

编写文章Typora Typora网址 就是一款非常优秀的桌面端笔记本软件, 支持实时预览的 Markdown 文本编辑器. 支持导出HTML, PDF, Word等格式 画图excalidraw excalidraw在线网址 一个开源免费的画图软件 目前看到的最舒服的画图软件, 拥有丰富的图库, 好看的风格 录制GIF的LICEc…

Go开发中如何进行自定义Response.go封装实现

自定义Respone好处 在写接口的时候&#xff0c;我们通过都需要将前端小伙伴发给我们的请求进行校验和返回数据&#xff0c;如果是正确的请求参数&#xff0c;那么也符合我们的校验&#xff0c;则需要返回数据给他们&#xff0c;并且给予提示&#xff1b;反之&#xff0c;如果请…

不知道WPS转PPT怎么转换?来看看我自用的两种方法就知道了

wps转ppt怎么转换 &#xff08;百&#xff09;wps转ppt怎么转换&#xff1f;分享这几种转换方法 &#xff08;搜&#xff09;WPS怎么转PPT&#xff1f;今天教你学会WPS转PPT &#xff08;企&#xff09;WPS如何转PPT&#xff1f;WPS转PPT转换方法分享 &#xff08;网&#xff…

Datax

1、Datax简要描述 DataX 是阿里云 DataWorks数据集成 的开源版本&#xff0c;在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、…

ADI Blackfin DSP处理器-BF533的开发详解39:图像处理专题-图像灰度均衡处理(含源码)

硬件准备 ADSP-EDU-BF533&#xff1a;BF533开发板 AD-HP530ICE&#xff1a;ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 代码实现了图像灰度均衡&#xff0c;代码运行时&#xff0c;会通过文件系统打开工程文件根目下" …/ImageView"路径中的 tes…

ADI Blackfin DSP处理器-BF533的开发详解37:图像处理专题-YUV420 转 RGB565(含源代码)

硬件准备 ADSP-EDU-BF533&#xff1a;BF533开发板 AD-HP530ICE&#xff1a;ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 代码实现了将 YUV420 数据格式转为 RGB565 格式。YUV420 的数据格式必须是两度和色度分离的。 板卡液晶屏和 VDSP 软件商 Image Viewe…

【小甲鱼C语言】课后笔记第一章第三节——常量和宏定义

目录 1、常见的常量 2、宏定义&#xff08;符号常量&#xff09; 3、标识符 4、字符串常量 5、课后习题&#xff08;编程题&#xff09; 1、常见的常量 整型常量&#xff1a;520, 1314, 123 实型常量&#xff1a;3.14, 5.12, 8.97 字符常量 普通字符&#xff1a;L, o, v,…

基于短期的风力发电概率预测(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清…

Stm32旧版库函数5——ov2640通过nrf24l01发送图像

视频采集端&#xff1a; /******************************************************************************* // // 使用单片机STM32F100C8T6 8 // 晶振&#xff1a;8.00M // 编译环境 Keil uVision4 // 在3.3V的供电环境下&#xff0c;就能运行 // 波特率 115200 // 使…

PyTorch(六)网络模型

文章目录Log一、现有网络模型的使用及修改1. VGG① ImageNet 数据集下载② 模型加载③ 模型改造a. 添加一个线性层b. 插入一个线性层c. 修改一个线性层二、网络模型的保存与读取① 网络模型的保存a. 保存方式一b. 保存方式二② 网络模型的读取a. 读取方式一b. 读取方式二三、完…

微信公众号服务号配置对接在线客服系统教程

如果只需要实现微信公众号的关注自动回复&#xff0c;关键词自动回复功能&#xff0c;普通订阅号就可以 当需要对接实现公众号的模板消息提醒&#xff0c;模板消息与客服端H5的对接&#xff0c;访客在微信点击或扫码时获取到微信的昵称头像&#xff0c;需要网页授权功能。这种是…

Spring(一):Spring核心与设计思想(IoC、DI)

目录一、Spring是什么1.1 容器是什么&#xff1f;1.2 什么是IoC&#xff1f;1.3 理解Spring IoC1.4 DI是什么一、Spring是什么 我们这里所说的Spring指的是SpringFrameWork&#xff0c;是一个开源框架。Spring支持广泛的应用场景&#xff0c;它可以让Java企业级的应用程序开发…

k8s编程operator实战之云编码平台——②controller初步实现

文章目录1、工作空间镜像制作2、controller实现2.1 使用kubebuilder创建工程2.2 代码实现2.2.1 引入grpc2.2.2 实现CloudIdeServiceStatusInformer的实现CloudSpaceService定义方法CreateSpaceAndWaitForRunning方法GetPodSpaceInfo方法DeleteSpace方法GetPodSpaceStatus2.2.3 …

人才盘点的工具与方法有哪些?怎样做好人才盘点?

人才盘点是对组织和人才进行系统管理的一种流程。在此过程中&#xff0c;对组织架构、人员配比、人才绩效、关键岗位的继任计划、关键人才发展、关键岗位的招聘及关键人才的晋升和激励进行深入讨论&#xff0c;并制定详细的组织行动计划&#xff0c;确保组织以更加优化的结构和…