Skip to content

Input 文字输入

通过鼠标或键盘输入字符

基础用法

<script setup>
import { ref } from 'vue'
import PfInput from '@/components/lib/Input/src/Input.vue'
const text = ref('')
</script>
<template>
  <pf-input v-model="text" placeholder="基础文本框,请输入" />
  <span>{{ text }}</span>
</template>

禁用状态

通过 disabled 属性指定是否禁用 input 组件

<script setup>
import { ref } from 'vue'
import PfInput from '@/components/lib/Input/src/Input.vue'
const text = ref('')
</script>
<template>
  <pf-input v-model="text" placeholder="基础文本框,请输入" disabled />
  <span>{{ text }}</span>
</template>

复合型输入框

可以在输入框中前置或后置一个元素,通常是标签或按钮。

可通过 slot 来指定在 Input 中分发的前置或者后置的内容。

https://
.com


<script setup>
import { ref } from 'vue'
import PfInput from '@/components/lib/Input/src/Input.vue'
import PfIcon from '@/components/lib/Icon/src/Icon.vue'
const text = ref('')
</script>
<template>
  <pf-input v-model="text" placeholder="基础文本框,请输入">
    <template #prepend>https://</template>
    <template #append>.com</template>
  </pf-input>
  <br />
  <br />
  <pf-input v-model="text" placeholder="基础文本框,请输入">
    <template #prefix>
      <pf-icon icon="fa-user" />
    </template>
    <template #suffix>
      <pf-icon icon="fa-user" />
    </template>
  </pf-input>
  <span>{{ text }}</span>
</template>

密码框

使用 show-password 属性即可得到一个可切换显示隐藏的密码框

<script setup>
import { ref } from 'vue'
import PfInput from '@/components/lib/Input/src/Input.vue'
const text = ref('')
</script>
<template>
  <pf-input v-model="text" placeholder="基础文本框,请输入" showPassword />
  <span>{{ text }}</span>
</template>

一键清空

使用clearable属性即可得到一个可一键清空的输入框

<script setup>
import { ref } from 'vue'
import PfInput from '@/components/lib/Input/src/Input.vue'
const text = ref('')
</script>
<template>
  <pf-input v-model="text" placeholder="基础文本框,请输入" clearable />
  <span>{{ text }}</span>
</template>

文本域

用于输入多行文本信息可缩放的输入框。 添加 type="textarea" 属性来将 input 元素转换为原生的 textarea 元素。

<script setup>
import { ref } from 'vue'
import PfInput from '@/components/lib/Input/src/Input.vue'
const text = ref('')
</script>
<template>
  <pf-input v-model="text" placeholder="基础文本框,请输入" type="textarea" />
  <span>{{ text }}</span>
</template>

Input 属性

NameDescriptionTypeDefault
typeinput 原生类型'string'text
model-value / v-model绑定值'string'
disabled是否禁用booleanfalse
placeholder输入框占位文本string
size输入框尺寸,只在 type 不为 'textarea' 时有效'large' | 'small'
placeholder输入框占位文本string
show-password是否显示切换密码图标booleanfalse
clearable是否显示清除按钮booleanfalse
readonly原生 readonly 属性,是否只读booleanfalse
autofocus原生属性,自动获取焦点booleanfalse
autocomplete原生 autocomplete 属性stringoff

Input 事件

NameDescriptionType
blur当选择器的输入框失去焦点时触发(e: FocusEvent) => void
focus当选择器的输入框获得焦点时触发(e: FocusEvent) => void
change当选择器的输入框失去焦点时触发(e: string) => void
input当选择器的输入框获得焦点时触发(e: string) => void
clear在点击由 clearable 属性生成的清空按钮时触发()=>void

Input 插槽

NameDescription
prefix输入框头部内容
suffix输入框尾部内容
prepend输入框前置内容
append输入框后置内容

Input 公共方法

NameDescriptionType
refHTML元素 input 或 textareaRef<HTMLInputElement | HTMLTextAreaElement>