当前位置: 首页 > news >正文

TDesign小程序组件库体验

原来小程序开发有组件库选择的问题,可以使用WeUI或者Vant。今年腾讯开源了前端的框架TDesign,我也分享了两篇使用文章。

年初分享的主要是PC端的框架,除了有PC端的框架外,最近TDesign又新出了小程序的框架,组件比较丰富,今天就带着大家体验一下。

1 创建小程序

用微信扫码登录微信开发者工具,登录之后点击+号来创建项目
在这里插入图片描述

创建项目时,先需要填入项目名称,选择程序存放的目录,填入appid,后端选择不使用云服务,模板的话选择Javascript-基础模板
在这里插入图片描述

2 微信开发者工具介绍

创建好项目之后可以看到微信开发者工具的一个界面,界面是包含几个区域
在这里插入图片描述
导航条有默认的各种各样的功能,预览区是我们小程序编译之后的效果,文件区域我们可以创建各种各样的文件,代码编辑区可以写代码,调试区可以显示各种调试信息。

有的开发者喜欢用vscode或者uniapp来开发小程序,我呢还是喜欢原生的工具,我们只是需要最终的结果,选哪种工具最终的结果都是一样的。

3 项目的初始化

我们现在使用模板是一个空白的项目,如果需要使用TDesign的,我们先需要做初始化,生成package.json文件

在调试区,切换到终端
在这里插入图片描述
点击新建终端
在这里插入图片描述
在光标的位置输入如下命令

npm init

在这里插入图片描述
一路按回车,完成package.json的创建
在这里插入图片描述

4 安装TDesign

在终端的命令行继续输入如下的命令

npm i tdesign-miniprogram -S --production

在这里插入图片描述
安装成功后可以在文件区域看到多了一个node_modules
在这里插入图片描述
按照官方文档的指引是要求做npm的构建,在导航条上找到工具,在工具下找到构建npm
在这里插入图片描述
构建成功后在文件区域会多了一个miniprogram_npm的文件夹
在这里插入图片描述

5 全局引入或者局部引入组件

我们引入这个库就是为了使用,如果全局引入,就修改app.json,用哪个组件就引入哪个组件,比如我们需要使用Button组件,按如下引入

{
  "pages":[
    "pages/index/index",
    "pages/logs/logs"
  ],
  "usingComponents": {
    "t-button": "tdesign-miniprogram/button/button",
    "t-button-group": "tdesign-miniprogram/button-group/button-group"
  },
  "window":{
    "backgroundTextStyle":"light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "Weixin",
    "navigationBarTextStyle":"black"
  },
  "style": "v2",
  "sitemapLocation": "sitemap.json"
}

然后我们在index.wxml里增加按钮组件的代码,查看效果

<!--index.wxml-->
<view class="container">
  <view class="userinfo">
    <block wx:if="{{canIUseOpenData}}">
      <view class="userinfo-avatar" bindtap="bindViewTap">
        <open-data type="userAvatarUrl"></open-data>
      </view>
      <open-data type="userNickName"></open-data>
    </block>
    <block wx:elif="{{!hasUserInfo}}">
      <button wx:if="{{canIUseGetUserProfile}}" bindtap="getUserProfile"> 获取头像昵称 </button>
      <button wx:elif="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>
      <view wx:else> 请使用1.4.4及以上版本基础库 </view>
    </block>
    <block wx:else>
      <image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image>
      <text class="userinfo-nickname">{{userInfo.nickName}}</text>
    </block>
  </view>
  <view class="usermotto">
    <text class="user-motto">{{motto}}</text>
  </view>
  <t-button t-class="external-class" theme="primary" block disabled="{{disabled}}">强按钮</t-button>
</view>

在这里插入图片描述
如果只是页面中使用,可以在index.json里引入,引入的原理是一样的,这样就完成了一个组件库的搭建

6 总结

我们本篇介绍了如何在小程序中使用TDesign组件库,在开发中我们总是寻找一些现成的解决方案来提高开发效率,重复造轮子也可以,前提是你造的比别人好,而且用的人也多。本篇我们就分享到这,我们下次再见。

作者简介:用了三年时间研究了微信小程序、微信云开发、微搭的技术体系,后续持续分享小程序开发的相关教程,敬请关注

相关文章:

  • 扩展工具 - 图片验证码生成工具kaptcha
  • 淤地坝安全自动监测预警系统解决方案
  • Revit中的公制植物RPC族制作步骤
  • E. Counting Rectangles(二维前缀和)
  • 流量操作与后门
  • RADIUS 本地服务器还能用吗?
  • springboot+mybatisplus+postgis实现几何点和线串增删改查分页
  • linux内核移植流程
  • canvas 正在慢慢吃掉你的内存...
  • 【无标题】11111
  • go pprof 的使用
  • 类和对象 中
  • LeetCode变位词组
  • locust压测实例
  • 8.6 轻量化网络设计概述
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • Android 架构优化~MVP 架构改造
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • Android框架之Volley
  • ComponentOne 2017 V2版本正式发布
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • gcc介绍及安装
  • git 常用命令
  • GitUp, 你不可错过的秀外慧中的git工具
  • Making An Indicator With Pure CSS
  • PAT A1017 优先队列
  • vue数据传递--我有特殊的实现技巧
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 工作中总结前端开发流程--vue项目
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 让你的分享飞起来——极光推出社会化分享组件
  • 时间复杂度与空间复杂度分析
  • 一文看透浏览器架构
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • ​io --- 处理流的核心工具​
  • # 数据结构
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (四)JPA - JQPL 实现增删改查
  • (转)Google的Objective-C编码规范
  • (转)创业家杂志:UCWEB天使第一步
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • .“空心村”成因分析及解决对策122344
  • .NET MVC第三章、三种传值方式
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .NET运行机制
  • /boot 内存空间不够
  • @Autowired和@Resource装配
  • @Pointcut 使用