项目背景
公司要做一个停车场微信小程序,支持临时车预支付以及支付记录查询等功能,其中涉及车牌输入的功能,为了提升用户体验,避免繁琐的输入,决定自己写一个键盘。
效果图如下
省份简写键盘如下:
![](http://img50.lidatong.com.cn//uploads/allimg/c20201214/b8f7550dbe6a7cb51056af249985cc2f.gif)
省份简写键盘
英文简写键盘如下:
![](http://img50.lidatong.com.cn//uploads/allimg/c20201214/083045188793bec689ada97a56336b41.gif)
英文简写键盘
源代码
目录结构
![](http://img50.lidatong.com.cn//uploads/allimg/c20201214/be97b5bd95ba651f8227d5ea89527efb.gif)
目录结构
wxml文件内容
-
<view wx:if="{{isShow}}" class="vehicle-panel" style="height:430rpx;background-color:{{backgroundColor}}">
-
-
<block wx:"{{keyBoardType === 1}}">
-
<view "vehicle-panel-row">
-
<view hover-"vehicle-hover" hover-start-time="10" hover-stay-time="100" 'vehicle-panel-row-button' style="border:{{buttonBorder}}" wx:for="{{keyVehicle1}}" bindtap='vehicleTap' data-value="{{item}}" wx:for-index="idx" wx:key="idx">{{item}}</view>
-
-
<view hover- "{{keyVehicle2}}" bindtap=
-
<view hover- "{{keyVehicle3}}" bindtap=
-
<view "vehicle-panel-row-last">
-
<view hover- 'vehicle-panel-row-button vehicle-panel-row-button-last' bindtap= "{{keyVehicle4}}" style=
-
-
-
-
<view hover-'vehicle-panel-row-button vehicle-panel-row-button-number' bindtap="{{keyNumber}}" style="item">{{item}}</view>
-
-
<view hover- "{{keyEnInput1}}" bindtap= "idx" wx:key=
-
<view hover- "{{keyEnInput2}}" bindtap=
<view hover-"vehicle-hover" style="border:{{buttonBorder}}" hover-start-time='vehicle-panel-row-button vehicle-panel-row-button-img'>
-
<image src='./delete.svg' 'vehicle-en-button-delete' bindtap="delete" mode='aspectFit'>删除</image>
-
-
-
<view hover- 'vehicleTap' style= "border:{{buttonBorder}}" data- "{{keyEnInput3}}" wx:
<view hover-'vehicle-panel-row-button vehicle-panel-ok' bindtap="ok">确定</view>
-
-
-
json文件
-
-
-
js文件
],
-
-
-
-
-
-
-
-
-
-
-
-
keyVehicle1: '陕京津沪冀豫云辽',197);">
keyVehicle2: '黑湘皖鲁新苏浙赣',197);">
keyVehicle3: '鄂桂甘晋蒙吉闽贵',197);">
keyVehicle4: '粤川青藏琼宁渝',197);">
keyNumber: '1234567890',197);">
keyEnInput1: 'QWERTYUIOP',197);">
keyEnInput2: 'ASDFGHJKL',197);">
keyEnInput3: 'ZXCVBNM',197);">
-
vehicleTap: function (event) {
-
let val = event.target.dataset.value;
-
-
-
this.triggerEvent('delete');
-
-
-
-
-
-
-
-
-
wxss文件
使用方式
示例
<v-panel is-show="{{isShow}}" bindok="inputOk" binddelete="inputdelete" bindinputchange="inputChange" key-board-type="{{keyBoardType}}" backgroundColor="white" />
属性
属性名称 |
类型 |
默认值 |
说明 |
isShow |
布尔(boolean) |
false |
控制键盘是否显示,true显示,false不显示 |
buttonBorder |
字符串(String) |
"1px solid #ccc" |
控制键盘按钮边框,同css border属性 |
backgroundColor
#fff |
控制键盘背景色,同css |
keyBoardType
数字(Number) |
1 |
控制键盘显示类型,1为省份简写,2为英文简写 |
事件
完毕!
以上代码仅供大家学习交流
相关推荐:
在微信小程序中使用“随机键盘” (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|