# CodeInput 校验码输入

数字录入组件,一般用于验证用户短信验证码的场景

# 平台差异说明

App H5 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序

# 示例

# 基础用法

可通过v-model | value:设定输入项的值

<template>
  <pi-code-input v-model="baseUsed" :length="4" />
</template>

<script>
export default {
  data() {
    return {
      baseUsed: '314'
    }
  }
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13

# 输入项长度

可通过length:设定输入项的长度

<template>
  <pi-code-input v-model="length" :length="6" />
</template>

<script>
export default {
  data() {
    return {
      length: '314159'
    }
  }
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13

# 均分布局

可通过stretch:平分父容器的宽度

<template>
  <pi-code-input v-model="stretch" :length="4" stretch />
</template>

<script>
export default {
  data() {
    return {
      stretch: ''
    }
  }
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13

# 输入项样式

可通过设置item-style,控制每一项输入框的样式

<template>
  <pi-code-input
    v-model="styles"
    :item-style="{ borderRadius: '25%', borderColor: '#ff508a', color: '#ff508a' }"
  />
</template>

<script>
export default {
  data() {
    return {
      styles: ''
    }
  }
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 已填输入项样式

可通过设置fill-style,控制每一项输入框的已填样式

<template>
  <pi-code-input
    v-model="fillStyles"
    :length="4"
    :fill-style="{
      fontWeight: '700',
      borderColor: '#ff508a',
      color: '#000'
    }"
  />
</template>

<script>
export default {
  data() {
    return {
      fillStyles: ''
    }
  }
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

# 自动拉起键盘输入

可通过设置auto-focus,当组件渲染完毕,自动拉起键盘输入

<template>
  <pi-code-input v-model="autoFocus" :length="4" auto-focus />
</template>

<script>
export default {
  data() {
    return {
      autoFocus: ''
    }
  }
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13

# 验证码格式化

可通过设置codeFormat,控制验证码的显示

<template>
  <pi-code-input v-model="codeFormat" :length="4" code-format="@" />
</template>

<script>
export default {
  data() {
    return {
      codeFormat: '9'
    }
  }
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13

# 密码样式

可通过设置item slot,自定义验证码显示内容

<template>
  <pi-code-input v-model="password" :length="4">
    <template slot="item" slot-scope="{ item }">{{ item ? '*' : '' }}</template>
  </pi-code-input>
</template>

<script>
export default {
  data() {
    return {
      password: '12'
    }
  }
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# Props

名称 描述 类型 必选 默认值
value 初始值,接收一个长度为length的内容 String | Number false -
customStyle 自定义样式,对象形式 Object false -
customClass 自定义样式类,字符串形式 String false -
itemStyle 每项验证码样式,对象形式 Object false -
fillStyle 已填项验证码样式,对象形式 Object false -
length 长度 String | Number false 4
autoFocus 自动拉起键盘 Boolean false false
autoFocusDelay 自动拉起键盘延时 String | Number false 350
stretch 每项验证码是否均分宽度 Boolean false false

# Events

事件名 描述 参数
end 当输入的数字位数与length属性相等时触发 string 输入的数字
Last updated: 2021/9/14 上午10:01:11
10:44