一.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. java定时任务详解

    首先,要创建你自己想要定时的实体类 @Service("smsService")@Transactionalpublic class SmsSendUtil { @Autowire ...

  2. base64加密原理

    以加密字符串"HkMayfly"为例子 1.转换字符 将待加密字符串的每个字符转换为对应ASCII码的二进制形式并拓展为8位. 2.划分数据 每3个字符为一组,共24位,每6位划分 ...

  3. SVG 学学就会了。

    SVG 随便学学就会了 这两天闲来没事把 Echart 换成 Rechart 感觉世界都清爽了.因为 rechart 使用 svg 来渲染,所以顺带学了下 SVG 感觉很轻松哦. 概念 SVG 是 w ...

  4. javaweb各种框架组合案例(八):springboot+mybatis-plus+restful

    一.介绍 1. springboot是spring项目的总结+整合 当我们搭smm,ssh,ssjdbc等组合框架时,各种配置不胜其烦,不仅是配置问题,在添加各种依赖时也是让人头疼,关键有些jar包之 ...

  5. error: must use ‘class’ tag to refer to type ‘XXX’ in this scope

    开发环境: Qt Creator 4.8.2 在写程序的时候,遇到了编译器报错 error: must use 'class' tag to refer to type 'XXX' in this s ...

  6. php session生存周期

    今天在我的微博(Laruence)上发出一个问题: 我在面试的时候, 经常会问一个问题: “如何设置一个30分钟过期的Session?”, 大家不要觉得看似简单, 这里面包含的知识挺多, 特别适合考察 ...

  7. Kettle连接MySQL错误:OPTION SQL_SELECT_LIMIT=DEFAULT

    由于升级了MySQL到5.6,运行ETL报错: OPTION SQL_SELECT_LIMIT=DEFAULT 上网查询原来是MySQL的驱动版本不一致,之前的驱动不支持这样的写法,于是上网下载对应的 ...

  8. JavaWeb(九):上传和下载

    表单 进行文件上传时, 表单需要做的准备: 1). 请求方式为 POST: <form action="uploadServlet" method="post&qu ...

  9. 传统IO拷贝与零拷贝技术比较

    1. 传统IO 由上面图知,传统io需要经过4次copy, 3次状态切换 第一次: 从硬盘 经过 DMA 拷贝 到 kernel buffer (内核buferr) 第二次: 从kernel buff ...

  10. python 文件读写操作打开模式

    ‘r’:只读.该文件必须已存在. ‘r+’:可读可写.该文件必须已存在,写为追加在文件内容末尾. ‘rb’:表示以二进制方式读取文件.该文件必须已存在. ‘w’:只写.打开即默认创建一个新文件,如果文 ...