一.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. Malware分析

    //文章来源:http://www.2cto.com/Article/201312/265217.html by Kungen@CyberSword 想要查找恶意样本,首先要知道查找样本所需的基本信息 ...

  2. opencv配置经常遇到的错误

    我们在运行一些书上的例子,经常会遇到以下的错误 还有什么Assertion Failed错误.这些错误都是我运行浅墨书上的例子或者博客的例子上面的代码的错误,他自己也提了一下,但是说的不是特别的清楚, ...

  3. 通过离线安装包解决了 from cryptography.hazmat.bindings._openssl import ffi, lib ImportError: /usr/local/python36/lib/python3.6/site-packages/cryptography-2.2.2-py3.6-linux-x86_64.egg/cryptography/hazmat/binding

    场景:内网服务器不能上外网(代理也不通!), 之前安装了PYTHON的几个安装包,但不是知道为什么无法使用PARAMIKO这个模块 在导入 from cryptography.hazmat.bindi ...

  4. Shell脚本的fork炸弹

    #!bin/bash#功能:快速消耗计算机资源,致使计算机死机#作者:liusingbon#定义函数名为.(点), 函数中递归调用自己并放入后台执行function . { .|.& };.

  5. LNMP集群架构篇

    一.LNMP介绍 1.使前端web服务和后端存储服务进行串联 2.主要实现处理php动态请求 工作原理: L:linux  N:nginx  M:mysql   P:php 二.lnmp部署 我的环境 ...

  6. TCP窗口

    一.窗口移动1.在建立TCP连接时,接收端会告诉发送端自己的接收窗口.2.发送端在发送数据时,会先为数据分包,编号,然后先发送窗口大小的数据(数据大于窗口大小),小于则全部发送了,窗口后的不允许发送. ...

  7. OGG-01169

    OGG-01169  Oracle GoldenGate Delivery for Oracle, dwarer.prm:  Encountered an update where all key c ...

  8. Android解决冲突

    1.在app的build.gradle中的defaultConfig节点中配置configurations.all android{ ... defaultConfig { configuration ...

  9. Java 静态方法、私有方法、常量的使用

    1.静态方法 2.私有方法 3.常量 4.接口小结

  10. ckeditor富文本编辑器的使用和图片上传,复制粘贴图片上传

    自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了.一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器) ...