index.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. // input/input.js
  2. import rules from '../behaviors/rules';
  3. Component({
  4. /**
  5. * 组件的属性列表
  6. */
  7. behaviors: ['wx://form-field',rules],
  8. externalClasses: ['l-class','l-error-text'],
  9. properties: {
  10. // 占位文本
  11. placeholder: {
  12. type: String,
  13. value: ''
  14. },
  15. // 输入框的值
  16. value: {
  17. type: String,
  18. value: ''
  19. },
  20. is_show:{
  21. type:Boolean,
  22. value:false
  23. },
  24. // 获取焦点
  25. focus: {
  26. type: Boolean,
  27. value: false
  28. },
  29. // 最大输入长度
  30. maxlength: {
  31. type: Number,
  32. value: 140
  33. },
  34. // 表显示文字长度的计数器
  35. indicator: {
  36. type: Boolean,
  37. value: true
  38. },
  39. // label标题的显示位置 left top right
  40. autoHeight: {
  41. type: Boolean,
  42. value: false
  43. },
  44. // 是否禁用
  45. disabled: {
  46. type: Boolean,
  47. value: false
  48. },
  49. // 是否显示边框
  50. border: {
  51. type: Boolean,
  52. value: true
  53. },
  54. // 校验
  55. rules: {
  56. type: Object,
  57. },
  58. // 占位文字的样式
  59. placeholderStyle: {
  60. type: String,
  61. value: ''
  62. }
  63. },
  64. /**
  65. * 组件的初始数据
  66. */
  67. data: {
  68. },
  69. attached() {
  70. this.initRules();
  71. },
  72. /**
  73. * 组件的方法列表
  74. */
  75. methods: {
  76. handleInputChange(event) {
  77. const { detail = {} } = event;
  78. const { value = '' } = detail;
  79. this.setData({ value });
  80. this.triggerEvent('linchange', event);
  81. },
  82. handleInputFocus(event) {
  83. this.triggerEvent('linfocus', event);
  84. },
  85. handleInputBlur(event) {
  86. this.validatorData({value:event.detail.value});
  87. this.triggerEvent('linblur', event);
  88. },
  89. handleInputConfirm(event) {
  90. const { detail = {} } = event;
  91. const { value = '' } = detail;
  92. this.triggerEvent('linconfirm', event);
  93. },
  94. // onClearTap(e) {
  95. // this.setData({ value: '' })
  96. // },
  97. }
  98. })