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

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



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 }}"
/>
目录
相关文章
|
1月前
|
小程序 Devops 开发工具
支付宝小程序入门学习之一:如何创建支付宝小程序并在手机上预览
支付宝小程序入门学习之一:如何创建支付宝小程序并在手机上预览
30 0
|
1月前
|
存储 小程序 JavaScript
基于微信小程序的移动学习平台的设计与实现_kaic
基于微信小程序的移动学习平台的设计与实现_kaic
|
7天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的英语学习交流平台的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的英语学习交流平台的详细设计和实现
24 2
|
7天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的移动学习平台的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的移动学习平台的详细设计和实现
31 1
|
1月前
|
小程序 JavaScript
在使用微信小程序开发中用vant2框架中的Uploader 文件上传wx.uploadFile无反应和使用多图上传
网上有的说是bind:after-read="afterRead"的命名问题不支持-,但是我这儿执行了console.log("file",file);证明函数运行了。后来发现是multiple="true"原因开启了多图上传,如果是多图上传的话file就是数组了
36 2
|
1月前
|
小程序 前端开发 JavaScript
微信小程序MINA框架
微信小程序MINA框架
62 0
|
15天前
|
小程序 前端开发 API
微信小程序全栈开发中的异常处理与日志记录
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的异常处理和日志记录,强调其对确保应用稳定性和用户体验的重要性。异常处理涵盖前端(网络、页面跳转、用户输入、逻辑异常)和后端(数据库、API、业务逻辑)方面;日志记录则关注关键操作和异常情况的追踪。实践中,前端可利用try-catch处理异常,后端借助日志框架记录异常,同时采用集中式日志管理工具提升分析效率。开发者应注意安全性、性能和团队协作,以优化异常处理与日志记录流程。
|
15天前
|
小程序 安全 数据安全/隐私保护
微信小程序全栈开发中的身份认证与授权机制
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的身份认证与授权机制。身份认证包括手机号验证、微信登录和第三方登录,而授权机制涉及角色权限控制、ACL和OAuth 2.0。实践中,开发者可利用微信登录获取用户信息,集成第三方登录,以及实施角色和ACL进行权限控制。注意点包括安全性、用户体验和合规性,以保障小程序的安全运行和良好体验。通过这些方法,开发者能有效掌握小程序全栈开发技术。
|
15天前
|
JavaScript 前端开发 小程序
微信小程序全栈开发之性能优化策略
【4月更文挑战第12天】本文探讨了微信小程序全栈开发的性能优化策略,包括前端的资源和渲染优化,如图片压缩、虚拟DOM、代码分割;后端的数据库和API优化,如索引创建、缓存使用、RESTful API设计;以及服务器的负载均衡和CDN加速。通过这些方法,开发者可提升小程序性能,优化用户体验,增强商业价值。
|
15天前
|
小程序 前端开发 JavaScript
微信小程序全栈开发中的PWA技术应用
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中PWA技术的应用,PWA结合Web的开放性和原生应用的性能,提供离线访问、后台运行、桌面图标和原生体验。开发者可利用Service Worker实现离线访问,Worker处理后台运行,Web App Manifest添加桌面图标,CSS和JavaScript提升原生体验。实践中需注意兼容性、性能优化和用户体验。PWA技术能提升小程序的性能和用户体验,助力开发者打造优质小程序。