微信小程序(三)--小程序UI开发
一.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开发的更多相关文章
- 【转】Pro Android学习笔记(十三):用户界面和控制(1):UI开发
目录(?)[-] UI开发 方式一通过XML文件 方式二通过代码 方式三XML代码 UI开发 先理清一些UI概念: view.widget.control:这三个名词其实没有什么区别,都是一个UI元素 ...
- [置顶] Kendo UI开发教程: Kendo UI 示例及总结
前面基本介绍完Kendo UI开发的基本概念和开发步骤,Kendo UI的示例网站为http://demos.kendoui.com/ ,包含了三个部分 Web DemoMobile DemoData ...
- [小程序开发] 微信小程序内嵌网页web-view开发教程
为了便于开发者灵活配置小程序,微信小程序开放了内嵌网页能力.这意味着小程序的内容不再局限于pages和large,我们可以借助内嵌网页丰富小程序的内容.下面附上详细的开发教程(含视频操作以及注意事项) ...
- 微信小程序之简单记账本开发记录(一)
下载并安装微信开发者工具 在选择开发记账本程序的时候犹豫着选择android studio还是微信小程序 最后选择了微信小程序,因其便利和快捷. 话不多说,第一步,下载并安装微信开发者工具.下面是教程 ...
- 微信小程序仿朋友圈功能开发(发布、点赞、评论等功能)
微信小程序仿朋友圈功能开发(发布.点赞.评论等功能) 1.项目分析 项目整体分为三个部分 发布 展示 详情页 graph LR 朋友圈发布 --内容发布--> 内容展示 内容展示 --点击展示卡 ...
- 微信小程序(应用号)开发资源汇总整理 - 一直更新中
开源项目 wechat-weapp-gank - 微信小程序版Gank客户端 wechat-dribbble - 微信小程序-Dribbble wechatApp-demo - 微信小程序 DEMO ...
- 微信正式开放内测“小程序”,不开发APP的日子真的来了?
关注,QQ群,微信应用号社区 511389428 微信正式开放内测“小程序”,不开发APP的日子真的来了? 明星公司 缪定纯 • 2016-09-22 09:05 讨论了很久的微信应用号终于来了,不过 ...
- 微信小程序(应用号)开发资源汇总整理
开源项目 wechat-weapp-gank - 微信小程序版Gank客户端 wechat-dribbble - 微信小程序-Dribbble wechatApp-demo - 微信小程序 DEMO ...
- 微信小程序入门笔记-开通云开发(3)
1.介绍 开发者可以使用云开发开发微信小程序.小游戏,无需搭建服务器,即可使用云端能力. 云开发为开发者提供完整的原生云端支持和微信服务支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API ...
随机推荐
- C语言如何使输出的数字对齐
右对齐%numd(num是位数,比如按5位数的长度输出,num为正数则右对齐) #include <stdio.h> int main() { printf(, ); printf(, ) ...
- h5与app交互
现在移动端 web 应用,很多时候都需要与原生 app 进行交互.沟通(运行在 webview中),比如微信的 jssdk,通过 window.wx 对象调用一些原生 app 的功能.所以,这次就来捋 ...
- CtfStudying之SSH私钥泄露
8/23/19 SSH私钥泄露 对于只是给定一个对应ip地址的靶场机器,我们需要对其进行扫描,探测其开放服务.我原来理解的渗透就是找到目标的漏洞,然后利用这些(这种)漏洞,最后拿到机器的最高权限:其实 ...
- JSP学习(5)
JSP学习(5) 保存用户状态的两大机制 session对象 Cookie Cookie简介 是Web服务器保存在客户端的一系列文本信息 典型应用 判断注册用户是否已经登录 购物车处理 作用 对特定对 ...
- Linux 内核层和 用户层 配置 GPIO 引脚
Linux BSP 开发的基础就是和GPIO打交道, 下面总结下这几天对某家开发板的GPIO控制的知识. 公司的开发板用的是 DTB 模式 ,首先,进入 dts,dtsi文件查看关于GPIO 的模块 ...
- ssh免口令密码登录及兼容性处理
1). client ---> server 客户端发起对服务器的连接,登录服务器. 2). 须在客户端生成密钥对 注意: 公钥加密私钥解:私钥加密公钥解. 可以发布公钥,但私钥是不能出本机的. ...
- 我是如何用python给Thunar写GUI插件的 (pygtk+glade)
更新:zip乱码的问题可以通过安装patch之后的p7zip-natspec和unzip-natspec解决(archlinuxcn源),而仍使用Engrampa做前端.此文重点在pygtk... 问 ...
- gay绿论第一章两点注意事项
1.不可能事件的概率为0,但概率为0的事件不一定是不可能事件,例如从自然数中取一个数结果是1的概率,从极限角度看,分子是1,分母是∞,结果是0,但它显然是有可能发生的,所以不是不可能事件. 2.两事件 ...
- bzoj3772 精神污染 dfs 序+主席树
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=3772 题解 很简单的一道题目. 上午研究一个题目的时候发现了这个题目是一个弱化版,所以来写了一 ...
- Windows结束某个端口的进程
1.打开cmd命令窗口,输入命令:netstat -ano | findstr 8080,根据端口号查找对应的PID.结果如下: 发现8080端口被PID(进程号)为2188的进程占用. 2.根据PI ...