uView Keyboard 键盘

此为uView自定义的键盘面板,内含了数字键盘,车牌号键,身份证号键盘3种模式,都有可以打乱按键顺序的选项。

#平台差异说明

App(vue) App(nvue) H5 小程序

#基本使用

通过mode参数定义键盘的类型,show绑定一个值为布尔值的变量控制键盘的弹出与收起:

  • mode = car (默认值)为汽车键盘,此时顶部工具条中间的提示文字为"车牌号键盘"

  • mode = number为数字键盘,此时顶部工具条中间的提示文字为"数字键盘"

  • mode = card 为身份证键盘,此时顶部工具条中间的提示文字为"身份证键盘"

    <template> <view> <u-keyboard ref="uKeyboard" mode="car" :show="show"></u-keyboard> <u-button @click="show = true">打开</u-button> </view> </template> <script> export default { data() { return { show: false } } } </script>

copy

#隐藏键盘"."符号

  • 通过dotDisabled参数配置是否显示键盘"."符号,默认为false,只在"mode = number"时生效

    <u-keyboard mode="number" :dotDisabled="true"></u-keyboard>

copy

#是否打乱按键的顺序

如果配置random参数为true的话,每次打开键盘,按键的顺序都是随机的,该功能默认是关闭的

复制代码
<u-keyboard ref="uKeyboard" mode="number" :random="true" :show="show"></u-keyboard>

copy

#如何控制键盘的打开和关闭?

复制代码
<template>
	<u-keyboard mode="number" :show="show"></u-keyboard>
</template>

<script>
	export default {
		onReady() {
			// 如果想一进入页面就打开键盘,请在此生命周期调用
			this.show = true;
		},
		onLoad() {
			// 不应在此调用,因为此时u-keyboard组件尚未创建完成
			// this.show = true;
		}
	}
</script>

copy

#如何监听键盘按键被点击?

  • 输入值是通过组件的change事件实现的,组件内部每个按键被点击的时候,组件就会发出一个change事件,回调参数为点击的按键的值。
  • 通过backspace事件监听键盘退格键的点击,通过修改父组件的值实现退格的效果,见下方示例

注意:点击退格键(也即删除键)不会触发change事件

复制代码
<template>
	<u-keyboard mode="number" @change="valChange" @backspace="backspace" :show="show"></u-keyboard>
</template>

<script>
	export default {
		data() {
			return {
				value: '',
				show: false
			}
		},
		methods: {
			// 按键被点击(点击退格键不会触发此事件)
			valChange(val) {
				// 将每次按键的值拼接到value变量中,注意+=写法
				this.value += val;
				console.log(this.value);
			},
			// 退格键被点击
			backspace() {
				// 删除value的最后一个字符
				if(this.value.length) this.value = this.value.substr(0, this.value.length - 1);
				console.log(this.value);
			}
		}
	}
</script>
相关推荐
DcTbnk9 分钟前
脚本猫中的新建脚本:定时脚本、后台脚本、普通脚本,三个区别
前端
冴羽12 分钟前
涨见识了,Error.cause 让 JavaScript 错误调试更轻松
前端·javascript·node.js
一千柯橘21 分钟前
Electron 第一步
前端·electron
code_Bo24 分钟前
Ant Design Vue 日期选择器英文不变更中文问题
前端·vue.js·ant design
啃火龙果的兔子25 分钟前
react-i18next+i18next-icu使用详解
前端·javascript·react.js
彭于晏爱编程28 分钟前
🌹🌹🌹bro,AntD 6.0.0 来了
前端
1024小神30 分钟前
Electron实现多tab页案例,BrowserView/iframe/webview不同方式的区别
前端·javascript·electron
Amos_Web40 分钟前
Rust实战(四):数据持久化、告警配置与Web API —— 构建监控系统的功能闭环
前端·后端·rust
java水泥工1 小时前
基于Echarts+HTML5可视化数据大屏展示-物流大数据展示
大数据·前端·echarts·html5·可视化大屏
U***e631 小时前
Vue自然语言
前端·javascript·vue.js