第一  view和input和button组件

1.UI组件的通用属性

(1)id       唯一标识

(2)class   设置组件的样式类

(3)style  设置组件的内联样式

(4)hidden  设置组件的显示和隐藏

(5)data-  设置发送给事件的参数

(6)bind/catch  绑定事件

2.input组件的属性

(1)value  值

(2)password  是否是密码框

(3)placeholder  提示信息

(4)disabled  是否禁用

(5)maxlength  最大输入长度

(6)bindchange  输入框的事件绑定,当失去焦点时触发,使用event.detail.value获取输入值

3.button组件的属性

(1)size  包括default和mini

(2)type  包括default和primary和warn

(3)plain  设置是否镂空

(4)disabled  设置是否禁用

(5)loading  是否显示图标

4.slide组件的属性

(1)min  最小值

(2)max  最大值

(3)step  步长值

(4)value  当前值

(5)show-value  是否在组件右侧显示当前值

(6)bindchange  组件操作完成时触发,使用event.detail.value获取当前值

例如:使用input输入框实现简单加法器

需求:

(1)在input输入框输入被加数和加数

(2)点击计算按钮显示计算结果

代码如下:

app.json

{
  "pages":[
    "pages/simpleCaculator/simpleCaculator"
  ],
  "window":{
    "backgroundColor":"#000000",
    "backgroundTextStyle":"light",
    "enablePullDownRefresh":true,
    "navigationBarBackgroundColor": "#000000",
    "navigationBarTitleText": "简单计算器",
    "navigationBarTextStyle":"black"
  },
  "networkTimeout":{
    "connectedSocket":10000,
    "request":10000,
    "downloadFile":10000,
    "uploadFile":10000
  }
}

  

simpleCaculator.json

{
  "backgroundColor": "#00ff00",
  "backgroundTextStyle": "light",
  "enablePullDownRefresh": true,
  "navigationBarBackgroundColor": "#ff0000",
  "navigationBarTitleText": "简单计算器",
  "navigationBarTextStyle": "black"
}

  

simpleCaculator.js

var app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    "addNumValue1":"",
    "addNumValue2":"",
    "result":0
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },

  /**
   * 处理被加数的事件绑定
   */
  handleAddNumValue1: function(event){
    var addNumValue1 = event.detail.value;
    if(!isNaN(addNumValue1)){
      this.setData({ "addNumValue1": addNumValue1 })
    }
  },

  /**
   * 处理加数的事件绑定
   */
  handleAddNumValue2: function (event) {
    var addNumValue2 = event.detail.value;
    if(!isNaN(addNumValue2)){
      this.setData({ "addNumValue2": addNumValue2 })
    }
  },

  /**
   * 显示计算结果
   */
  showcaculatorResult: function(event){
    console.log(event)
    var addNumValue1 = this.data.addNumValue1
    var addNumValue2 = this.data.addNumValue2
    var result = addNumValue1 * 1 + addNumValue2 * 1
    this.setData({"result": result});
  }
})

  

simpleCaculator.wxml

<view class="container">
  <view class='add-num'>
    <input class='add-num-input' value='{{addNumValue1}}' placeholder='请输入被加数' maxlength='8' bindblur='handleAddNumValue1'></input>
  </view>
  <view class='add-num'>
    <input class='add-num-input' value='{{addNumValue2}}' placeholder='请输入加数' maxlength='8' bindblur='handleAddNumValue2'></input>
  </view>
  <view class='result-get'>
    <button class='result-get-button' size='default' type='primary' catchtap='showcaculatorResult'>计算</button>
  </view>
  <view class='result'>
    <view class='result-text'>{{result}}</view>
  </view>
</view>

  

simpleCaculator.wxss

.container{
  padding: 4rpx;
}
.add-num{
  width: 100%;
  padding-left: 20rpx;
  padding-right: 20rpx;
}
.add-num-input{
  width: 100%;
  height: 96rpx;
  border-bottom: 2rpx solid gray;
  text-align: right;
}
.result-get{
  width: 100%;
}
.result-get-button{
  width: 100%;
  height: 96rpx;
  line-height: 96rpx;
}
.result{
  width: 100%;
  background: gray;
  padding-left: 20rpx;
  padding-right: 20rpx;
  border: 2rpx solid gray;
  border-radius: 10rpx;
}
.result-text{
  width: 100%;
  height: 96rpx;
  line-height: 96rpx;
  text-align: right;
  vertical-align: 96rpx;
}

  

例如:使用slide组件实现简单加法器

需求:

(1)使用slide组件调整被加数和加数

(2)点击计算按钮显示计算结果

代码如下:

app.json

{
  "pages":[
    "pages/caculator/caculator"
  ],
  "window":{
    "backgroundTextStyle":"light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "滑块简单计算器",
    "navigationBarTextStyle":"black"
  }
}

  

caculator.json

{
  "backgroundColor": "#00ff00",
  "backgroundTextStyle": "light",
  "enablePullDownRefresh": true,
  "navigationBarBackgroundColor": "#ff0000",
  "navigationBarTitleText": "滑块简单计算器",
  "navigationBarTextStyle": "black"
}

  

caculator.js

var app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    "addNumValue1": "",
    "addNumValue2": "",
    "result": 0
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },

  /**
   * 处理被加数的事件绑定
   */
  handleAddNumValue1: function (event) {
    var addNumValue1 = event.detail.value;
    if (!isNaN(addNumValue1)) {
      this.setData({ "addNumValue1": addNumValue1 })
    }
  },

  /**
   * 处理加数的事件绑定
   */
  handleAddNumValue2: function (event) {
    var addNumValue2 = event.detail.value;
    if (!isNaN(addNumValue2)) {
      this.setData({ "addNumValue2": addNumValue2 })
    }
  },

  /**
   * 显示计算结果
   */
  showcaculatorResult: function (event) {
    console.log(event)
    var addNumValue1 = this.data.addNumValue1
    var addNumValue2 = this.data.addNumValue2
    var result = addNumValue1 * 1 + addNumValue2 * 1
    this.setData({ "result": result });
  }
})

  

caculator.wxml

<view class="container">
  <view class='add-num'>
    <slider min='0' max='99999999' step='1' value='{{addNumValue1}}' show-value bindchange='handleAddNumValue1'></slider>
  </view>
  <view class='add-num'>
    <slider min='0' max='99999999' step='1' value='{{addNumValue2}}' show-value bindchange='handleAddNumValue2'></slider>
  </view>
  <view class='result-get'>
    <button class='result-get-button' size='default' type='primary' catchtap='showcaculatorResult'>计算</button>
  </view>
  <view class='result'>
    <view class='result-text'>{{result}}</view>
  </view>
</view>

  

caculator.wxss

.container{
  padding: 4rpx;
}
.add-num{
  width: 100%;
  padding-left: 20rpx;
  padding-right: 20rpx;
}
.add-num-input{
  width: 100%;
  height: 96rpx;
  border-bottom: 2rpx solid gray;
  text-align: right;
}
.result-get{
  width: 100%;
}
.result-get-button{
  width: 100%;
  height: 96rpx;
  line-height: 96rpx;
}
.result{
  width: 100%;
  background: gray;
  padding-left: 20rpx;
  padding-right: 20rpx;
  border: 2rpx solid gray;
  border-radius: 10rpx;
}
.result-text{
  width: 100%;
  height: 96rpx;
  line-height: 96rpx;
  text-align: right;
  vertical-align: 96rpx;
}

  

运行结果:

4.icon组件的类型

<icon type="图标类型" size="图标大小" color="图标颜色"/>

type:指定icon的类型,有success,info,warn,waiting,safe_success,safe_warn, success_circle,success_no_circle, waiting_circle,circle, download,info_circle,cancel,cancel,search,clear

size:指定图标的大小,单位为px

color:指定图标的颜色

例如:实现复杂的计算器

需求:

(1)能进行加减乘除四则运算

(2)能进行负数运算

(3)能进行小数运算

(4)输入过程中可以删除最后一位

(5)能清楚输入的数据

(6)能查看历史数据

微信小程序开发UI组件的更多相关文章

  1. uni-app开发微信小程序引入UI组件库(Vant-weapp)步骤

    uni-app开发微信小程序引入UI组件库(Vant-weapp)步骤 这里以vant-weapp为例 uni-app官方文档介绍引入组件的方法 1. 新建相关目录 根目录下创建 wxcomponen ...

  2. 微信小程序开发---自定义组件

    开发者可以将页面内的功能模块抽象成自定义组件,以便在不同的页面中重复使用:也可以将复杂的页面拆分成多个低耦合的模块,有助于代码维护.自定义组件在使用时与基础组件非常相似. 创建自定义组件 类似于页面, ...

  3. 微信小程序开发-tabbar组件

    "tabBar": { "backgroundColor": "#303133", "color": "#ff ...

  4. 微信小程序开发05-日历组件的实现

    接上文:微信小程序开发04-打造自己的UI库 github地址:https://github.com/yexiaochai/wxdemo 我们这里继续实现我们的日历组件,这个日历组件稍微有点特殊,算是 ...

  5. 微信小程序开发03-这是一个组件

    编写组件 基本结构 接上文:微信小程序开发02-小程序基本介绍 我们今天先来实现这个弹出层: 之前这个组件是一个容器类组件,弹出层可设置载入的html结构,然后再设置各种事件即可,这种组件有一个特点: ...

  6. 微信小程序开发(四)学习基本组件

    现在我们已经学会使用工具了,再来了解,测试一下微信小程序的常用组件,所谓组件,就是微信团队已经开发好的一些常用标签,我们只需要掌握用法就可以了,当然,以后学得深入了,也可以开发自己的组件,让其他人使用 ...

  7. 微信小程序开发工具测评

    1月9日微信小程序正式上线.很多企业都希望能在这个.但是在技术开发的问题上,却不知道该如何下手.经过一些程序员不辞辛苦连夜测试,终于从十余款工具呕心沥血筛选出四款比较靠谱实用的微信小程序开发工具.接下 ...

  8. 微信小程序开发工具使用与设计规范(二)

    [未经作者本人同意,请勿以任何形式转载] 上一篇文章主要分析了微信小程序应用场景和优劣势.本篇你可以学习到: 如何使用小程序开发工具写一个Hello World 微信小程序设计规范 微信小程序项目结构 ...

  9. 剖析简易计算器带你入门微信小程序开发

    写在前面,但是重点在后面 这是教程,也不是教程. 可以先看Demo的操作动图,看看是个什么玩意儿,GitHub地址(https://github.com/dunizb/wxapp-sCalc) 自从微 ...

随机推荐

  1. mybatis的批量更新实例

    近来批量添加,删除,更新用的比较多,单一的删除和更新,操作无法满足企业某些业务的需求,故通过以下示例分享知识: 今天通过更新的例子来说明 演示环境为jdk8,maven环境,ssm框架 请准备好环境, ...

  2. 【转】python中的一维卷积conv1d和二维卷积conv2d

    转自:https://blog.csdn.net/qq_26552071/article/details/81178932 二维卷积conv2d 给定4维的输入张量和滤波器张量来进行2维的卷积计算.即 ...

  3. TStack与IBM LinuxONE通过兼容性认证

    近日,腾讯云TStack与IBM LinuxONE通过兼容性认证,通过腾讯云TStack,可实现便捷管理IBM LinuxONE服务器.这为腾讯和IBM在未来多方面的商业合作奠定了坚实基础,也为腾讯云 ...

  4. python基础学习第四天

    #字符串到数字 可以进行各种进制转换#print(int('11111',8)) #需求 对字符串中的单词翻转 保留空格#第一种方法 最笨clstr='I love you!'bam=clstr.sp ...

  5. 洛谷 P1525 关押罪犯

    题目链接 https://www.luogu.org/problemnew/show/P1525 题目描述 S城现有两座监狱,一共关押着N名罪犯,编号分别为1−N.他们之间的关系自然也极不和谐.很多罪 ...

  6. React-使用redux-immutable统一数据格式

    在header的reducer.js里把header变成immutable对象之后,在组件里获取focused属性就得这样获取: focused:state.header.get('focused') ...

  7. Vue-Vue组件的注册和使用

    全局注册: 要注册一个全局组件,可以使用 Vue.component(tagName, options). 注意确保在初始化根实例之前注册组件: html代码: <div id="ex ...

  8. SAAS云平台搭建札记: (二) Linux Ubutu下.Net Core整套运行环境的搭建

    最近做的项目,由于预算有限,公司决定不采购Windows服务器,而采购基于Linux的服务器. 一般的VPS服务器,如果使用Windows系统,那么Windows Server2012\2016安装好 ...

  9. 历时25天,我的博客(www.ityouknow.com)终于又活了过来

    时间回到2016年的7月10号,那时候我刚刚开始正式在博客园写博客,博客园的交流氛围很好,但鉴于博客园古老的界面,同时计划创建一个自己独立的博客,毕竟自己的博客怎么折腾都行. 那时候正在研究 Spri ...

  10. HTML-JS 数组 内置对象

    [JS中的数组] 1.数组的基本概念? 数组是在内存空间中连续存储的一组有序数据的集合 元素在数组中的顺序,称为下标.可以使用下标访问数组的每个元素 2.如何声明一个数组 ① 使用字面量声明:var ...