mykeyboard.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. // pages/mykeyboard/mykeyboard.js
  2. var app = getApp();
  3. let arrval = [];
  4. let number = '';
  5. Component({
  6. externalClasses: ['mykeyboard'],
  7. //对外引用资源
  8. properties: {
  9. //显示键盘
  10. isShow: {
  11. type: Boolean,
  12. value: false,
  13. },
  14. //键盘按压背景颜色
  15. keyBoradBackground:{
  16. type:String,
  17. value:"#2DA2F1"
  18. },
  19. //键盘边角大小
  20. bordradius:{
  21. type:String,
  22. value:"5px",
  23. },
  24. },
  25. // 数据集
  26. data: {
  27. keynumber: '123456789.0X',
  28. canclebt: '取消',
  29. submitbt: '确定',
  30. deletebt: '删除',
  31. numberval: [],
  32. numbertext: '',
  33. },
  34. //方法函数
  35. methods: {
  36. keyboadrTap: function (e) {
  37. // console.log(e)
  38. let val = e.target.dataset.value; //获取data-vaule值
  39. switch (val) {
  40. case 'delete':
  41. // console.log('删除')
  42. arrval.pop();
  43. this.setData({
  44. numberval: arrval,
  45. numbertext: arrval.join(''),
  46. })
  47. this.triggerEvent('delete');
  48. break;
  49. case 'cancle':
  50. this.triggerEvent('cancle');
  51. // console.log('退出')
  52. //退出置空键盘数据集
  53. arrval = [];
  54. this.setData({
  55. numbertext:"",
  56. })
  57. break;
  58. case 'submit':
  59. // console.log('提交')
  60. // console.log(this.data.numbertext);
  61. //数字为空不允许点击确定按钮
  62. if(this.data.numbertext == ""){
  63. wx.showToast({
  64. title: '数据为空',
  65. })
  66. return true;
  67. }
  68. //正则判断
  69. this.triggerEvent('submit',this.data.numbertext);
  70. arrval = [];
  71. this.setData({
  72. numbertext:"",
  73. })
  74. break;
  75. default:
  76. // console.log('数字键盘');
  77. // console.log(val);
  78. arrval.push(val);
  79. var arr = arrval.join('').replace(/^\./g, "").replace(".","#").replace(/\./g,"").replace("#",".").replace("X","*").replace(/\X/g,"").replace("*","x");
  80. this.setData({
  81. numberval: arrval,
  82. numbertext: arr,
  83. })
  84. this.triggerEvent('inputChange', this.data.numbertext);
  85. }
  86. },
  87. },
  88. });