表单组件

爱被打了一巴掌 2021-09-13 15:56 831阅读 0赞

button按钮

在这里插入图片描述
在这里插入图片描述
size有效值

  • default 默认大小
  • mini 小尺寸

type有效值

  • primary 微信小程序为绿色,App、H5、百度小程序、支付宝小程序为蓝色,字节跳动小程序为红色,QQ小程序为浅蓝色
  • default 白色
  • warn 红色

form-type 有效值

  • submit 提交表单
  • reset 重置表单

效果示例

  1. <button type="primary">页面主操作 Normal</button>
  2. <button type="primary" loading="true">页面主操作 Loading</button> //名称前带 loading 图标
  3. <button type="primary" disabled="true">页面主操作 Disabled</button> //禁用
  4. <button type="default">页面次要操作 Normal</button> //白色
  5. <button type="default" disabled="true">页面次要操作 Disabled</button> //白色禁用
  6. <button type="warn">警告类操作 Normal</button> //红色警告
  7. <button type="warn" disabled="true">警告类操作 Disabled</button> //红色禁用

在这里插入图片描述

  1. <button type="primary" plain="true">按钮</button> //镂空,背景色透明
  2. <button type="primary" disabled="true" plain="true">不可点击的按钮</button//禁用,透明
  3. <button type="default" plain="true">按钮</button> //白色,透明
  4. <button type="default" disabled="true" plain="true">按钮</button> //白色,禁用,透明
  5. <button type="primary" size="mini">按钮</button> //小尺寸
  6. <button type="default" size="mini">按钮</button> //白色,小尺寸
  7. <button type="warn" size="mini">按钮</button> //红色,小尺寸

在这里插入图片描述

checkbox(多选项目)

在这里插入图片描述

input(输入框)

在这里插入图片描述
在这里插入图片描述
注意:

  • input 事件处理函数可以直接 return 一个字符串,将替换输入框的内容。仅微信小程序支持。
  • input 事件处理函数内实时修改当前值不生效,可以延迟设置,例如:setTimeout(() => { this.value = 100 }, 0)。
  • input 组件上有默认的 min-height 样式,如果 min-height 的值大于 height 的值那么 height样式无效。

type 有效值

  • text 文本输入键盘
  • number 数字输入键盘 (注意iOS的vue页面弹出的数字键盘并非9宫格方式)
  • idcard 身份证输入键盘 (微信、支付宝、百度、QQ小程序)
  • digit 带小数点的数字键盘 (App的nvue页面、微信、支付宝、百度、头条、QQ小程序)

注意:

1.小程序平台,number 类型只支持输入整型数字。微信开发者工具上体现不出效果,请使用真机预览。

  1. 如果需要在小程序平台输入浮点型数字,请使用 digit 类型。
  2. input组件若不想弹出软键盘,可设置为disable

confirm-type 有效值
在这里插入图片描述
注意:

1.App平台的nvue页面,如果是uni-app编译模式,直接使用此属性设置即可生效。如果是weex编译模式,需通过weex的api设置,weex相关文档参考
2.App平台的vue页面不支持控制键盘右下角为“发送”,涉及聊天的建议使用nvue。 App平台iOS端软键盘上方横条去除方案

picker(从底部弹起的滚动选择器)

支持五中选择器:

  • 普通选择器
  • 多列选择器
  • 时间选择器
  • 日期选择器
  • 省市区选择器

通过mode来区分,默认是普通选择器: mode = selector

时间选择器

mode = time
在这里插入图片描述

日期选择器

mode = date
在这里插入图片描述

省市区选择器

mode = region
在这里插入图片描述

效果实现步骤

template部分:

  1. <view class="uni-title uni-common-pl" style="background:gray ;">地区选择器</view>
  2. <view class="uni-list">
  3. <view class="uni-list-cell" style="display: flex;">
  4. <view class="uni-list-cell-left" style="margin-right:60rpx">
  5. 当前选择
  6. </view>
  7. <view class="uni-list-cell-db">
  8. <picker @change="bindPickerChange" :value="index" :range="array">
  9. <view class="uni-input">{ { array[index]}}</view>
  10. </picker>
  11. </view>
  12. </view>
  13. </view>
  14. <view class="uni-title uni-common-pl" style="background:gray ;">时间选择器</view>
  15. <view class="uni-list">
  16. <view class="uni-list-cell" style="display: flex;">
  17. <view class="uni-list-cell-left" style="margin-right:60rpx">
  18. 当前选择
  19. </view>
  20. <view class="uni-list-cell-db">
  21. <picker mode="time" :value="time" start="09:01" end="21:01" @change="bindTimeChange">
  22. <view class="uni-input">{ { time}}</view>
  23. </picker>
  24. </view>
  25. </view>
  26. </view>
  27. <view class="uni-title uni-common-pl" style="background:gray ;">日期选择器</view>
  28. <view class="uni-list">
  29. <view class="uni-list-cell" style="display: flex;">
  30. <view class="uni-list-cell-left" style="margin-right:60rpx">
  31. 当前选择
  32. </view>
  33. <view class="uni-list-cell-db">
  34. <picker mode="date" :value="date" :start="startDate" :end="endDate" @change="bindDateChange">
  35. <view class="uni-input">{ { date}}</view>
  36. </picker>
  37. </view>
  38. </view>
  39. </view>

在data里添加:

  1. const currentDate = this.getDate({
  2. format: true
  3. })

return里添加:

  1. title: 'picker',
  2. array: ['中国', '美国', '巴西', '日本'],
  3. index: 0,
  4. date: currentDate,
  5. time: '12:01'

data外添加:

  1. computed: {
  2. startDate() {
  3. return this.getDate('start');
  4. },
  5. endDate() {
  6. return this.getDate('end');
  7. }
  8. },

methods内添加:

  1. bindPickerChange: function(e) {
  2. console.log('picker发送选择改变,携带值为', e.target.value)
  3. this.index = e.target.value
  4. },
  5. bindDateChange: function(e) {
  6. this.date = e.target.value
  7. },
  8. bindTimeChange: function(e) {
  9. this.time = e.target.value
  10. },
  11. getDate(type) {
  12. const date = new Date();
  13. let year = date.getFullYear(); //获取年份
  14. let month = date.getMonth() + 1; //获取月份
  15. let day = date.getDate(); //获取天数
  16. if (type === 'start') {
  17. year = year - 60;
  18. } else if (type === 'end') {
  19. year = year + 2;
  20. }
  21. month = month > 9 ? month : '0' + month;;
  22. day = day > 9 ? day : '0' + day;
  23. return `${ year}-${ month}-${ day}`;
  24. }

效果图如下:
在这里插入图片描述
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,831人围观)

还没有评论,来说两句吧...

相关阅读

    相关 浅谈React组件

    表单组件不同于其他原生组件,可以通过用户交互发生变化,使响应用户交互的表单数据处理更加容易。   1、交互属性 表单组件支持几个受用户交互影响的属性: 1) value

    相关 DjangoForm组件

    Form组件的介绍: 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要