一.UI介绍
  所谓的UI(user Interface)开发指的就是小程序应用界面的开发,在小程序开发框架中会为我们提供一系列的基础组件,例如HTML开发中为我们所提供的一些最基础的标签.需要注意的是微信小程序的标签所遵循的方式是严格的XML语法.
二.基础内容组件

   <!-- 微信基础内容组件 -->
<view>
<!-- icon的类型,有效值:success, success_no_circle, info, warn, waiting, cancel,
download, search, clear;
1. 除了以上内置图标,其他图标必须通过图片的方式来进行加载-->
<icon type="success" color="red"></icon>
<icon type="success_no_circle"></icon>
<icon type="info"></icon>
<icon type="warn"></icon>
<icon type="waiting"></icon>
<icon type="cancel"></icon>
<icon type="download"></icon>
<icon type="search"></icon>
<icon type="clear"></icon>
<!-- progress 进度条组件 -->
<progress percent="100" active="true" duration="100" show-info="true" border-radius="50" activeColor="pink"></progress>
</view>
   <!-- 表单组件 -->
<view>
<!-- type是用来控制按钮的类型的,只有三种类型:default primary warn
size默认也只有两种类型:default mini
plain属性可以将按钮设置为背景镂空
loading 可以设置加载图标
form-type 表单属性:submit 提交表单 reset 重置表单
hover-class 设置按下去的样式 只有在type设置为default的时候才能生效-->
<button type="default" size="mini" hover-class="btn-active">这是一个按钮</button>
<!-- checkBox 复选框
checkbox-group:给这些复选框编组,用于绑定change事件,可以得知当前是哪些CheckBox被选中了-->
<checkbox-group bindchange="checkbox_action">
<label class="checkbox" wx:for="{{ checkbox_items }}" wx:key="{{ item.name }}">
<checkbox value="{{ item.name }}" checked="{{ item.checked }}">{{ item.name }}</checkbox>
</label>
</checkbox-group>
<!-- input 输入框
placeholder 设置提示文本-->
<input class="input_demo1" placeholder="提示文本" placeholder-class="input_demo1_palceholder"></input>
<!-- pick 从底部弹起的选择器 -->
<view>
<picker value="{{ picker_1_data_index }}" range="{{ picker_1_data }}" bindchange="picker_1_action">
<view>
当前的选择:{{ picker_1_data[picker_1_data_index] }}
</view>
</picker>
</view>
</view>
   <!-- 操作反馈组件 这些组件时不需要通过页面标签来使用的.而是用过调用一些方法来使用显示这个组件 -->
<view>
<button type="primary" bindtap="button_1_action" class="action_button">actionSheet</button>
<button type="primary" bindtap="button_2_action" class="action_button">modal</button>
<button type="primary" bindtap="button_3_action" class="action_button">taost</button>
<button type="primary" bindtap="button_4_action" class="action_button">loading</button>
</view> <!-- 微信小程序基本组件总结
组件的基本用法
语法问题
1.组件使用的是类似于HTML的方式(有不同),组件使用的是严格的XML 标准(必须存在结束标签)
2.组件的分类
功能性的组件:具有具体功能的组件,例如button,checkbox;
布局类型的组件:用来完成页面结构(DIV);
API类型的组件:从使用的角度来讲,需要通过调用WX API来完成组件的使用-->
 // pages/ui/ui.js
Page({ /**
* 页面的初始数据
*/
data: {
checkbox_items: [{
name: "Java",
checked: true
},
{
name: "HTML",
checked: false
},
{
name: "JavaScript",
checked: true
}
],
picker_1_data: ['Java', 'HTML', 'JavaScritp'],
picker_1_data_index: 1,
actionSheet_data: ['AAAA', 'B', 'C']
},
// 当当前checkbox-group中的内容发生改变时,将会获取到当前被选中的数组列表
checkbox_action: function(e) {
console.log(e.detail);
},
//picker组件的触发事件
picker_1_action: function(e) {
console.log(this);
this.setData({
picker_1_data_index: e.detail.value
})
},
//操作反馈组件,必须通过调用API的方法来进行调用
button_1_action: function() {
//action-sheet
wx.showActionSheet({
//显示出来的项目列表
itemList: this.data.actionSheet_data,
//点击其中任一项的回调(取消项除外)
success: function(res) {
console.log("用户选择了: " + getCurrentPages()[0].data.actionSheet_data[res.tapIndex]);
},
//点击取消
fail: function(res) {
console.log("用户点击了取消");
}
})
},
button_2_action: function() {
wx.showModal({
title: '提示',
content: '是否删除当前内容',
})
},
button_3_action: function() {
var flag = false;
wx.showToast({
title: '正在获取数据',
icon: "none",
success: function() {
if (flag == true) {
wx.hideToast();
}
},
})
},
button_4_action: function() {
var now = new Date();
var exitTime = now.getTime() + 2000;
console.log(now.getTime() + " " + exitTime);
wx: wx.showLoading({
title: '加载中',
mask: true,
success: function(res) {
//使加载弹窗在两秒后消失
while (true) {
now = new Date();
if (now.getTime() == exitTime) {
wx.hideLoading();
break;
}
}
},
fail: function(res) {},
complete: function(res) {
console.log("在最终会执行该函数");
},
})
} })

微信小程序(三)--小程序UI开发的更多相关文章

  1. 【转】Pro Android学习笔记(十三):用户界面和控制(1):UI开发

    目录(?)[-] UI开发 方式一通过XML文件 方式二通过代码 方式三XML代码 UI开发 先理清一些UI概念: view.widget.control:这三个名词其实没有什么区别,都是一个UI元素 ...

  2. [置顶] Kendo UI开发教程: Kendo UI 示例及总结

    前面基本介绍完Kendo UI开发的基本概念和开发步骤,Kendo UI的示例网站为http://demos.kendoui.com/ ,包含了三个部分 Web DemoMobile DemoData ...

  3. [小程序开发] 微信小程序内嵌网页web-view开发教程

    为了便于开发者灵活配置小程序,微信小程序开放了内嵌网页能力.这意味着小程序的内容不再局限于pages和large,我们可以借助内嵌网页丰富小程序的内容.下面附上详细的开发教程(含视频操作以及注意事项) ...

  4. 微信小程序之简单记账本开发记录(一)

    下载并安装微信开发者工具 在选择开发记账本程序的时候犹豫着选择android studio还是微信小程序 最后选择了微信小程序,因其便利和快捷. 话不多说,第一步,下载并安装微信开发者工具.下面是教程 ...

  5. 微信小程序仿朋友圈功能开发(发布、点赞、评论等功能)

    微信小程序仿朋友圈功能开发(发布.点赞.评论等功能) 1.项目分析 项目整体分为三个部分 发布 展示 详情页 graph LR 朋友圈发布 --内容发布--> 内容展示 内容展示 --点击展示卡 ...

  6. 微信小程序(应用号)开发资源汇总整理 - 一直更新中

    开源项目 wechat-weapp-gank - 微信小程序版Gank客户端 wechat-dribbble - 微信小程序-Dribbble wechatApp-demo - 微信小程序 DEMO ...

  7. 微信正式开放内测“小程序”,不开发APP的日子真的来了?

    关注,QQ群,微信应用号社区 511389428 微信正式开放内测“小程序”,不开发APP的日子真的来了? 明星公司 缪定纯 • 2016-09-22 09:05 讨论了很久的微信应用号终于来了,不过 ...

  8. 微信小程序(应用号)开发资源汇总整理

    开源项目 wechat-weapp-gank - 微信小程序版Gank客户端 wechat-dribbble - 微信小程序-Dribbble wechatApp-demo - 微信小程序 DEMO ...

  9. 微信小程序入门笔记-开通云开发(3)

    1.介绍 开发者可以使用云开发开发微信小程序.小游戏,无需搭建服务器,即可使用云端能力. 云开发为开发者提供完整的原生云端支持和微信服务支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API ...

随机推荐

  1. Sql Server 2008安装时提示重启计算机失败解决办法

    在键盘上按下组合键[Win]+[R],调出运行窗口.   在窗口中输入“regedit”,点击确定,打开注册表管理界面.   在注册表左侧目录栏中找到如下位置:“HKEY_LOCAL_MACHINE\ ...

  2. java 中Shallow Heap与Retained Heap的区别

    Shallow Size Shallow Size是对象本身占据的内存的大小,不包含其引用的对象.对于常规对象(非数组)的Shallow Size由其成员变量的数量和类型来定,而数组的ShallowS ...

  3. Docker镜像+nginx 部署 vue 项目

    一.打包vue项目 在开发完的vue项目输入如下命名,打包生成dist文件夹 yarn build / npm run build 此时根目录会多出一个文件夹:dist文件夹,里面就是我们要发布的东西 ...

  4. Spring Boot 全局排除 spring-boot-starter-logging 依赖

    https://blog.csdn.net/u013314786/article/details/90412733 项目里使用了log4j2做日志处理,要排除掉Spring Boot 很多jar里边默 ...

  5. 日志处理--高效Linux命令整理

    序 在学习使用python处理日志开始阶段,对我阻力最大的莫过于对linux的不熟悉了,有种寸步难行的感觉. 在之后乱学一通之后,发现有点对我颇有益处: 学<鸟哥linux私房菜基础学习篇> ...

  6. JuniorCTF - Web - blind

    题目链接 https://ctftime.org/task/7450 参考链接 https://github.com/Dvd848/CTFs/blob/master/2018_35C3_Junior/ ...

  7. alert(1) to win 5

    function escape(s) { var text = s.replace(/</g, '<').replace(/"/g, '"'); // URLs tex ...

  8. LA 6834 Shopping

    题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...

  9. 洛谷 P4827 [国家集训队] Crash 的文明世界

    题目描述 ​ 给你一棵 n 个点的树,对于树上的每个节点 i,求 \(\sum_{j=1}^ndis(i,j)^k\).其中 \(dis(i,j)\) 为两点在树上的距离. 输入格式 ​ 第一行两个整 ...

  10. 在Mac电脑上使用NTFS移动硬盘遇到问题

    1.sudo nano/etc/fstab 回车 输电脑密码 2.进入文本插入页面  编入: LABEL=硬盘名字 NONE ntfs rw,auto,nobrowse 3.ctrl + X 退出 选 ...