UNPKG

vehicle-keyboard-js

Version:
169 lines (138 loc) 6.13 kB
# vehicleKeyboard 普通车牌和新能源车牌 - 中文键盘 ![中文键盘](https://github.com/zyTheGit/vehicleKeyborad/blob/master/img/ch.png) - 英文键盘 ![英文键盘](https://github.com/zyTheGit/vehicleKeyborad/blob/master/img/en.png) # 适用范围 - 使用 `flex` 自动布局,适用于多端 - 中英文键盘都可根据自己的需求定义 - 可模块化导入 - 可以浏览器中直接引入,支持`umd`方式引入 - 支持`Vue``React`等框架 # 安装 ```shell npm install vehicle-keyboard-js ``` 或者通过`cdn`引入 1. 引入`js` ```js <script src="https://unpkg.com/vehicle-keyboard-js@1.1.1/lib/Keyboard.min.js"></script> ``` 2. 引入样式 ```css <link rel="stylesheet" href="https://unpkg.com/vehicle-keyboard-js@1.1.1/lib/style/default.css"></link> ``` ## Vue 中使用 ```vue <script setup> import { ref, onMounted } from "vue"; import Keyboard from "vehicle-keyboard-js"; import "vehicle-keyboard-js/lib/style/default.css"; const keyboard = ref(); keyboard.value = new Keyboard({ boxName: ".box", // writeBoxName: ".inp", entryInputName: ".inp", defaultVehicleValue: "鄂j401", pushCh: ["中", "国", "加", "油"], pushEn: ["1"], enabledEn: ["O", "j", "1"], enabledCh: ["油"], externalKeyboard: true, //是否启用自己的键盘 onBackpace() { console.log("onBackpace=>删除事件的回调"); console.log(keyboard.value.getVehicleValue()); }, onChange(val) { console.log("onChange=>事件的回调", val); }, }); onMounted(() => { keyboard.value.init(); }); </script> <template> <div class="inp"></div> <div class="box"></div> </template> ``` 其他`js`框架同理,在框架虚拟`dom`加载完成的时候,调用键盘的初始化方法即可; ## 使用`cdn`引入使用 ```html <!-- 外层的盒子名称都可自己定义 --> <!-- 和js的boxName、entryInputNa名称对应即可 --> <div class="inp"></div> <div class="keyboard"></div> ``` 键盘初始化 ```js //虽然样式名称还是keyborad但是调用时已经修改为Keyboard //1.1显示写的输入框 let keyboard = new Keyboard({ boxName: ".keyboard", writeBoxName: ".inp", }); //1.2或者使用内置创建的输入框 let keyboard = new Keyboard({ boxName: ".keyboard", entryInputNa: ".inp", pageVehicleSplit: "鄂j401", //页面传的车牌 keyboardFn: () => {}, //键盘点击回调事件 backpaceFn: () => {}, //键盘backpace点击回调事件 }); //2. 初始化生成键盘 keyboard.init(); ``` # new Keyboard(params:object) 传的参数 - **`boxName`** 放置键盘盒子的名称-`string`-**必填项**- ~~`entryInputNa`放置键盘输入框名称-`string`-非必填项(`writeBoxName` 为空时,必填),不能是 `input` 框,应该为一个盒子;~~ - `entryInputName`放置键盘输入框名称-`string`-非必填项(`writeBoxName` 为空时,必填),不能是 `input` 框,应该为一个盒子; - `writeBoxName`存键盘操作的值的 `input` 或者盒子-`string`-非必填项(`entryInputName`为空时,必填); - `chArray`有自己的默认值,显示中文车牌-`string|number[]`-非必填项; - `enArray`有自己的默认值,显示字母和数字-`string|number[]`-非必填项; - ~~`keyboardShowRowNum`键盘排列几行,默认显示 5 行-`number`-非必填项;~~ - `rowNumber`键盘排列几行,默认显示 5 行-`number`-非必填项; - `pushCh`可以往原有的中文键盘中添加自己的中文-`string|number[]`-非必填项; - `pushEn`可以往原有的字母和数字键盘中添加自己的字母和数字-`string|number[]`-非必填项; - ~~`inputLen`现实几个键盘输入框,默认是 `9` 个(其实显示出来是 `8` 位的车牌),带中间一个点-`number`-非必填项;~~ - `inputNumber`现实几个键盘输入框,默认是 `9` 个(其实显示出来是 `8` 位的车牌),带中间一个点-`number`-非必填项; - ~~`keyboardFn`点击键盘的回调函数,没有返回值,只有回调,-`Function`-非必填项;~~ - `onChange`点击键盘的回调函数,没有返回值,只有回调,-`Function`-非必填项; - ~~`pageVehicleSplit`: "页面中传来的部分车牌,`string`-非必填项;~~ - `defaultVehicleValue`: "页面中传来的部分车牌,`string`-非必填项; - `enabledCh`: "需要禁用的中文键-`string|number[]`-非必填项"; - `enabledEn`: "需要禁用的英文键-`string|number[]`-非必填项"; - `externalKeyboard`:是否启用内置键盘-`Boolean`-非必填项,默认`false`不开启,`entryInputName`存在时才起作用,(开启原生自带键盘输入的方式); # 返回的事件和参数 - `init` -`Function`- 键盘创建和初始化 -**必须执行函数初始化** - `getVehicleValue` -`Function`- 返回输入的车牌 - `saveValue` -`string|number[]`- 返回输入的车牌 - `showDoc` -`Function`- 显示使用文档 - `initValue` -`Function`- 初始化键盘 - ~~`keyboardShow` -`Function`- 键盘显示~~ - `show` -`Function`- 键盘显示 - ~~`keyboardHide` -`Function`- 键盘隐藏~~ - `hide` -`Function`- 键盘隐藏 - ~~`backpaceFn` -`Function`- 键盘上的 `backpack` 键的事件~~ - `onBackpace` -`Function`- 键盘上的 `backpack` 键的事件 - ~~`initComplateFn` -`Function`- 键盘创建完成的回调函数~~ - `onComplate` -`Function`- 键盘创建完成的回调函数 # 版本更新 - **1.0.14** - 包由`zy-vehicle-keyboard`更名为`vehicle-keyboard-js` - 修复删除事件多返回一位 - **1.0.15** (重大更新) - **将 css 抽离到单独的文件中,减少`js`的体积,用户可自定义键盘样式,须用户单独引入 css 样式** - 修复切换到第二个输入框,键盘没有自动切换到数字键盘 - **1.1.1**(重大更新) - 修改有歧义的属性和方法,变更如下 1. entryInputNa => entryInputName 2. keyboardShowRowNum => rowNumber 3. pageVehicleSplit => defaultVehicleValue 4. inputLen => inputNumber 5. keyboardShow => show 6. keyboardHide => hide 7. keyboardFn => onChange 8. backpaceFn => onBackpace 9. initComplateFn => onComplate