# InputNumber 数字输入框
概述
InputNumber 数字输入框,该组件多用于购物车加减商品等场景。
# 支持平台
目前开发小程序与H5推荐使用 FirstUI nvue版本 (opens new window)。
安卓系统版本 | 安卓uni-app | 安卓uniapp-x | iOS系统版本 | iOS uniapp | iOS uniapp-x | 小程序 | H5/Web |
---|---|---|---|---|---|---|---|
5.0 | × | ✓ | 9.0 | × | × | × | ✓ |
# 引入
以下介绍两种常用的引入方式。
第一种:在页面中引用、注册
import fuiInputNumber from "@/components/firstui/fui-input-number/fui-input-number.uvue"
export default {
components:{
fuiInputNumber
}
}
1
2
3
4
5
6
2
3
4
5
6
第二种:easycom组件规范
传统vue组件,需要安装、引用、注册,三个步骤后才能使用组件。easycom将其精简为一步。
First UI easycom配置请查看 快速上手。
如果不了解easycom,可先查看 官网文档 (opens new window)。
# 代码演示
部分示例演示,完整使用请参考示例程序以及文档API。
基础使用
通过 change
事件获取输入框的值。
<fui-input-number @change="change"></fui-input-number>
1
import { FuiInputNumberChangeParam } from '@/components/firstui/fui-types/index.uts'
export default {
data() {
return {
inputVal: 1
}
},
methods: {
change(e : FuiInputNumberChangeParam) {
if (e.value != this.inputVal) {
this.inputVal = e.value
}
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
改变加减号颜色
通过 signColor
属性修改加减号颜色。
<fui-input-number signColor="#FFB703"></fui-input-number>
1
设置最小值和最大值
通过 min
属性设置最小值,max
属性设置最大值。
<fui-input-number :min="1" :max="9"></fui-input-number>
1
设置步长
通过 step
属性设置步长(步长0.1)。
<fui-input-number :step="0.1"></fui-input-number>
1
使用v-model
双向绑定。
<fui-input-number v-model="val"></fui-input-number>
1
export default {
data() {
return {
val: 1
}
}
}
1
2
3
4
5
6
7
2
3
4
5
6
7
自定义加减号
通过插槽自定义。
<fui-input-number backgroundColor="#FFF" :size="30" :width="60" :margin="0">
<fui-icon name="minussign" :size="48" color="#FFB703"></fui-icon>
<template v-slot:plus>
<fui-icon name="plussign-fill" :size="48" color="#FFB703"></fui-icon>
</template>
</fui-input-number>
1
2
3
4
5
6
2
3
4
5
6
# Slots
插槽名称 | 说明 |
---|---|
default | 左侧内容,自定义减号 |
plus | 右侧内容,自定义加号 |
# Props
属性名 | 类型 | 说明 | 默认值 | 平台差异说明 |
---|---|---|---|---|
modelValue | Number, String | 输入框值 | 1 | - |
valueEmit V1.4.0+ | Boolean | 初始化以及页面改变modelValue值时是否触发change等事件 | true | - |
type | String | 输入框类型,可选值:number、text(主要用于输入负号小数点) | number | - |
min | Number | 最小值,支持负数 | 1 | - |
max | Number | 最大值 | 99 | - |
step | Number | 每次点击改变的间隔大小 | 1 | - |
disabled | Boolean | 是否禁用操作 | false | - |
signWidth | Number | 加减号宽度,单位rpx | 24 | - |
height | Number | 输入框高度,单位rpx | 40 | - |
width | Number | 输入框宽度,单位rpx | 80 | - |
radius | Number | 输入框圆角,单位rpx | 8 | - |
size | Number | 输入框字体大小,单位rpx | 28 | - |
backgroundColor | String | 输入框背景颜色 | #EEEEEE | - |
color | String | 输入框字体颜色 | #181818 | - |
margin | Number | 输入框margin-left,margin-right值,单位rpx | 16 | - |
custom | Boolean | 是否自定义加减号,为true则去除默认加减号,使用插槽自定义 | false | - |
index | Number | 索引值,列表中使用 | 0 | - |
param | String | 自定义参数 | 0 | - |
# Events
事件名 | 类型 | 说明 | 回调参数 |
---|---|---|---|
@change | (event: FuiInputNumberChangeParam) => void | 数字输入框值改变时触发 | FuiInputNumberChangeParam |
@input | (event: number) => void | 数字输入框值改变时触发 | number:值 |
@blur | (event: UniInputBlurEvent) => void | 数字输入框失去焦点时触发 | UniInputBlurEvent |
@update:modelValue | (event: number) => void | 输入框值改变时触发,用于双向绑定 | number:值 |
# FuiInputNumberChangeParam
/**
* fui-input-number 数字输入框组件 @change 事件 回调参数类型
* @description this.$emit('change',FuiInputNumberChangeParam)
* @param {number} value {number} 数字文本内容
* @param {number} index {number} 索引值,列表中使用
* @param {string} param {string} 自定义参数
*/
export type FuiInputNumberChangeParam = {
value : number;
index : number;
param : string;
}
/*页面引入*/
import { FuiInputNumberChangeParam } from '@/components/firstui/fui-types/index.uts'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15