一.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. C语言如何使输出的数字对齐

    右对齐%numd(num是位数,比如按5位数的长度输出,num为正数则右对齐) #include <stdio.h> int main() { printf(, ); printf(, ) ...

  2. h5与app交互

    现在移动端 web 应用,很多时候都需要与原生 app 进行交互.沟通(运行在 webview中),比如微信的 jssdk,通过 window.wx 对象调用一些原生 app 的功能.所以,这次就来捋 ...

  3. CtfStudying之SSH私钥泄露

    8/23/19 SSH私钥泄露 对于只是给定一个对应ip地址的靶场机器,我们需要对其进行扫描,探测其开放服务.我原来理解的渗透就是找到目标的漏洞,然后利用这些(这种)漏洞,最后拿到机器的最高权限:其实 ...

  4. JSP学习(5)

    JSP学习(5) 保存用户状态的两大机制 session对象 Cookie Cookie简介 是Web服务器保存在客户端的一系列文本信息 典型应用 判断注册用户是否已经登录 购物车处理 作用 对特定对 ...

  5. Linux 内核层和 用户层 配置 GPIO 引脚

    Linux BSP 开发的基础就是和GPIO打交道, 下面总结下这几天对某家开发板的GPIO控制的知识. 公司的开发板用的是 DTB  模式 ,首先,进入 dts,dtsi文件查看关于GPIO 的模块 ...

  6. ssh免口令密码登录及兼容性处理

    1). client ---> server 客户端发起对服务器的连接,登录服务器. 2). 须在客户端生成密钥对 注意: 公钥加密私钥解:私钥加密公钥解. 可以发布公钥,但私钥是不能出本机的. ...

  7. 我是如何用python给Thunar写GUI插件的 (pygtk+glade)

    更新:zip乱码的问题可以通过安装patch之后的p7zip-natspec和unzip-natspec解决(archlinuxcn源),而仍使用Engrampa做前端.此文重点在pygtk... 问 ...

  8. gay绿论第一章两点注意事项

    1.不可能事件的概率为0,但概率为0的事件不一定是不可能事件,例如从自然数中取一个数结果是1的概率,从极限角度看,分子是1,分母是∞,结果是0,但它显然是有可能发生的,所以不是不可能事件. 2.两事件 ...

  9. bzoj3772 精神污染 dfs 序+主席树

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=3772 题解 很简单的一道题目. 上午研究一个题目的时候发现了这个题目是一个弱化版,所以来写了一 ...

  10. Windows结束某个端口的进程

    1.打开cmd命令窗口,输入命令:netstat -ano | findstr 8080,根据端口号查找对应的PID.结果如下: 发现8080端口被PID(进程号)为2188的进程占用. 2.根据PI ...