index.wxml 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <wxs src="../wxs/utils.wxs" module="utils" />
  2. <van-cell
  3. icon="{{ leftIcon }}"
  4. title="{{ label }}"
  5. center="{{ center }}"
  6. border="{{ border }}"
  7. is-link="{{ isLink }}"
  8. required="{{ required }}"
  9. custom-style="{{ customStyle }}"
  10. title-width="{{ titleWidth }}"
  11. custom-class="van-field"
  12. size="{{ size }}"
  13. >
  14. <slot name="left-icon" slot="icon" />
  15. <slot name="label" slot="title" />
  16. <view class="van-field__body {{ type === 'textarea' ? 'van-field__body--textarea' : '' }}">
  17. <textarea
  18. wx:if="{{ type === 'textarea' }}"
  19. class="input-class {{ utils.bem('field__input', [inputAlign, { disabled, error }]) }}"
  20. fixed="{{ fixed }}"
  21. focus="{{ focus }}"
  22. value="{{ value }}"
  23. disabled="{{ disabled || readonly }}"
  24. maxlength="{{ maxlength }}"
  25. auto-height="{{ autosize }}"
  26. cursor-spacing="{{ cursorSpacing }}"
  27. adjust-position="{{ adjustPosition }}"
  28. show-confirm-bar="{{ showConfirmBar }}"
  29. bindinput="onInput"
  30. bind:blur="onBlur"
  31. bind:focus="onFocus"
  32. bind:confirm="onConfirm"
  33. >
  34. <view wx:if="{{ value == null || value.length === 0 }}" style="{{ placeholderStyle }}" class="{{ utils.bem('field__placeholder', { error }) }}">
  35. {{ placeholder }}
  36. </view>
  37. </textarea>
  38. <input
  39. wx:else
  40. class="input-class {{ utils.bem('field__input', [inputAlign, { disabled, error }]) }}"
  41. type="{{ type }}"
  42. focus="{{ focus }}"
  43. value="{{ value }}"
  44. disabled="{{ disabled || readonly }}"
  45. maxlength="{{ maxlength }}"
  46. placeholder="{{ placeholder }}"
  47. placeholder-style="{{ placeholderStyle }}"
  48. placeholder-class="{{ error ? 'van-field__placeholder--error' : 'van-field__placeholder' }}"
  49. confirm-type="{{ confirmType }}"
  50. confirm-hold="{{ confirmHold }}"
  51. cursor-spacing="{{ cursorSpacing }}"
  52. adjust-position="{{ adjustPosition }}"
  53. password="{{ password || type === 'password' }}"
  54. bindinput="onInput"
  55. bind:blur="onBlur"
  56. bind:focus="onFocus"
  57. bind:confirm="onConfirm"
  58. />
  59. <van-icon
  60. wx:if="{{ showClear }}"
  61. size="16px"
  62. name="clear"
  63. class="van-field__clear-root van-field__icon-root"
  64. bindtouchstart="onClear"
  65. />
  66. <view class="van-field__icon-container" bind:tap="onClickIcon">
  67. <van-icon
  68. wx:if="{{ rightIcon || icon }}"
  69. size="16px"
  70. name="{{ rightIcon || icon }}"
  71. class="van-field__icon-root {{ iconClass }}"
  72. custom-class="right-icon-class"
  73. />
  74. <slot name="right-icon" />
  75. <slot name="icon" />
  76. </view>
  77. <view class="van-field__button">
  78. <slot name="button" />
  79. </view>
  80. </view>
  81. <view wx:if="{{ errorMessage }}" class="van-field__error-message {{ utils.bem('field__error', [errorMessageAlign, { disabled, error }]) }}">
  82. {{ errorMessage }}
  83. </view>
  84. </van-cell>