Input 文本输入框

文本输入框。

使用指南

在 page.json 中引入组件

  1. {
  2. "navigationBarTitleText": "Input",
  3. "usingComponents": {
  4. "wux-cell-group": "../../dist/cell-group/index",
  5. "wux-cell": "../../dist/cell/index",
  6. "wux-input": "../../dist/input/index"
  7. }
  8. }

示例

!> Input 组件建议用 Cell 组件包裹使用。

  1. <view class="page">
  2. <view class="page__hd">
  3. <view class="page__title">Input</view>
  4. <view class="page__desc">文本输入框</view>
  5. </view>
  6. <view class="page__bd">
  7. <wux-cell-group title="Normal Usage">
  8. <wux-cell hover-class="none">
  9. <wux-input placeholder="No label" />
  10. </wux-cell>
  11. <wux-cell hover-class="none">
  12. <wux-input label="WeChat" />
  13. </wux-cell>
  14. <wux-cell hover-class="none">
  15. <wux-input label="QQ" placeholder="Input your QQ" />
  16. </wux-cell>
  17. <wux-cell hover-class="none">
  18. <wux-input label="Password" placeholder="Input your password" password type="number" />
  19. </wux-cell>
  20. </wux-cell-group>
  21. <wux-cell-group title="Custom title">
  22. <wux-cell hover-class="none">
  23. <wux-input>WeChat</wux-input>
  24. </wux-cell>
  25. <wux-cell hover-class="none">
  26. <wux-input placeholder="Input your QQ">
  27. <image style="width: 20px; height: 20px; margin-right: 5px" src="https://wux.cdn.cloverstd.com/logo.png" />
  28. </wux-input>
  29. </wux-cell>
  30. </wux-cell-group>
  31. <wux-cell-group title="Show clear">
  32. <wux-cell hover-class="none">
  33. <wux-input clear label="WeChat" />
  34. </wux-cell>
  35. <wux-cell hover-class="none">
  36. <wux-input clear label="QQ" placeholder="Input your QQ" />
  37. </wux-cell>
  38. </wux-cell-group>
  39. <wux-cell-group title="Extra">
  40. <wux-cell hover-class="none">
  41. <wux-input label="Dollar" defaultValue="1024" extra="$" />
  42. </wux-cell>
  43. <wux-cell hover-class="none">
  44. <wux-input label="RMB" defaultValue="1024">
  45. <view slot="footer" style="margin-left: 5px"></view>
  46. </wux-input>
  47. </wux-cell>
  48. </wux-cell-group>
  49. <wux-cell-group title="Disabled">
  50. <wux-cell hover-class="none">
  51. <wux-input disabled label="WeChat" />
  52. </wux-cell>
  53. <wux-cell hover-class="none">
  54. <wux-input disabled label="QQ" defaultValue="1024" />
  55. </wux-cell>
  56. </wux-cell-group>
  57. <wux-cell-group title="Controlled">
  58. <wux-cell hover-class="none">
  59. <wux-input label="Uncontrolled" defaultValue="1024" />
  60. </wux-cell>
  61. <wux-cell hover-class="none">
  62. <wux-input label="Controlled" value="{{ value }}" controlled type="number" bind:change="onChange" bind:focus="onFocus" bind:blur="onBlur" bind:confirm="onConfirm" bind:clear="onClear" />
  63. </wux-cell>
  64. </wux-cell-group>
  65. <wux-cell-group title="Error">
  66. <wux-cell hover-class="none">
  67. <wux-input label="Tel number" value="{{ value }}" controlled error="{{ error }}" type="number" bind:change="onChange" bind:focus="onFocus" bind:blur="onBlur" bind:confirm="onConfirm" bind:clear="onClear" bind:error="onError" />
  68. </wux-cell>
  69. </wux-cell-group>
  70. </view>
  71. </view>
  1. const isTel = (value) => !/^1[34578]\d{9}$/.test(value)
  2. Page({
  3. onChange(e) {
  4. console.log('onChange', e)
  5. this.setData({
  6. error: isTel(e.detail.value),
  7. value: e.detail.value,
  8. })
  9. },
  10. onFocus(e) {
  11. this.setData({
  12. error: isTel(e.detail.value),
  13. })
  14. console.log('onFocus', e)
  15. },
  16. onBlur(e) {
  17. this.setData({
  18. error: isTel(e.detail.value),
  19. })
  20. console.log('onBlur', e)
  21. },
  22. onConfirm(e) {
  23. console.log('onConfirm', e)
  24. },
  25. onClear(e) {
  26. console.log('onClear', e)
  27. this.setData({
  28. error: true,
  29. value: '',
  30. })
  31. },
  32. onError() {
  33. wx.showModal({
  34. title: 'Please enter 11 digits',
  35. showCancel: !1,
  36. })
  37. },
  38. })

视频演示

Input

API

Input props

参数 类型 描述 默认值
prefixCls string 自定义类名前缀 wux-input
label string 左侧内容 -
extra string 右侧内容 -
defaultValue string 默认值,当 controlledfalse 时才生效 -
value string 当前值,当 controlledtrue 时才生效 -
controlled boolean 是否受控 说明文档 false
type string 类型,可选值为 text、number、idcard、digit text
password boolean 是否是密码类型 false
placeholder string 输入框为空时占位符 -
placeholder-style string,object 指定 placeholder 的样式 -
placeholder-class string 指定 placeholder 的样式类 input-placeholder
disabled boolean 是否禁用 false
maxlength number 最大输入长度,设置为 -1 的时候不限制最大长度 140
cursor-spacing number 指定光标与键盘的距离,单位 px 11
focus boolean 获取焦点 false
confirm-type string 设置键盘右下角按钮的文字,仅在type=’text’时生效 done
confirm-hold boolean 点击键盘右下角按钮时是否保持键盘不收起 false
cursor number 指定focus时的光标位置 -1
selection-start number 光标起始位置,自动聚集时有效,需与selection-end搭配使用 -1
selection-end number 光标结束位置,自动聚集时有效,需与selection-start搭配使用 -1
adjust-position boolean 键盘弹起时,是否自动上推页面 true
clear boolean 是否显示清除图标,当 disabledfalse 时才生效 false
error boolean 是否显示报错图标 false
bind:change function 键盘输入时触发 -
bind:focus function 输入框聚焦时触发 -
bind:blur function 输入框失去焦点时触发 -
bind:confirm function 点击完成按钮时触发 -
bind:clear function 点击清除图标时触发 -
bind:error function 点击报错图标时触发 -

Input slot

名称 描述
- 自定义左侧内容

Input externalClasses

名称 描述
wux-class 根节点样式类