Input 输入框

通过鼠标或键盘输入内容,是最基础的表单域的包装。

何时使用

  • 需要用户输入表单域内容时。
  • 提供组合型输入框,带搜索的输入框,还可以进行大小选择。

组件演示

基本

基本使用。

  1. <template>
  2. <v-input placeholder="基本使用" v-model="value" @keydown="keydown" @keyup="keyup" @blur="blur('blur')"></v-input>
  3. </template>
  4. <script>
  5. export default {
  6. methods: {
  7. blur(val) {
  8. console.log(val)
  9. },
  10. keyup(val){
  11. console.log(val)
  12. },
  13. keydown(val){
  14. console.log(val)
  15. },
  16. }
  17. }
  18. </script>

文本域

用于多行输入,指定 type 为一个特殊的 textarea。

  1. <v-input type="textarea" value="这是一个textarea"></v-input>

适应文本高度的文本域

autosize 属性适用于 textarea 节点,并且只有高度会自动变化。另外 autosize 可以设定为一个对象,指定最小行数和最大行数。

  1. <v-input type="textarea" placeholder="Autosize height based on content lines" autosize></v-input>
  2. <br><br>
  3. <v-input type="textarea" placeholder="Autosize height with minimum and maximum number of lines" :autosize="{ minRows: 2, maxRows: 6 }"></v-input>

前后缀修饰添加

带有前缀后缀修饰

  1. <template>
  2. <v-input>
  3. <span slot="before">http://</span>
  4. <span slot="after">.com</span>
  5. </v-input>
  6. <br>
  7. <v-input>
  8. <v-select placeholder="请选择" style="width: 80px;" slot="before" :data="options"
  9. v-model="value"></v-select>
  10. <v-select style="width: 80px;" slot="after" :data="options2"
  11. v-model="value"></v-select>
  12. </v-input>
  13. </template>
  14. <script>
  15. export default {
  16. data() {
  17. return {
  18. options: [{value: '1', label: 'lady'}, {value: '2', label: '小强', disabled: true}, {value: '3', label: '小明'}],
  19. options2: [{value: '1', label: 'lady'}, {value: '2', label: '小强'}, {value: '3', label: '小明'}],
  20. value: '3'
  21. }
  22. }
  23. }
  24. </script>

三种大小

我们为 < v-input > 输入框定义了三种尺寸(大、默认、小),高度分别为 32px、28px 和 22px。

  1. <v-input size="large" placeholder="大尺寸" style="width:200px;display:inline-block" disabled></v-input>
  2. <v-input placeholder="基本尺寸" style="width:200px;display:inline-block"></v-input>
  3. <v-input size="small" placeholder="小尺寸" style="width:200px;display:inline-block"></v-input>

输入框组合

输入框的组合展现。注意:使用 compact 模式时,不需要通过 Col 来控制宽度。

  1. <template>
  2. <v-input-group size="large">
  3. <v-col span="4">
  4. <v-input value="0571"></v-input>
  5. </v-col>
  6. <v-col span="8">
  7. <v-input value="26888888"></v-input>
  8. </v-col>
  9. </v-input-group>
  10. <br />
  11. <v-input-group compact>
  12. <v-input value="0571" style="width: 20%"></v-input>
  13. <v-input value="26888888" style="width: 30%"></v-input>
  14. </v-input-group>
  15. <br />
  16. <v-input-group compact>
  17. <v-select placeholder="请选择" :data="options" v-model="value"></v-select>
  18. <v-input value="Input content" style="width: 50%"></v-input>
  19. </v-input-group>
  20. <br />
  21. <v-input-group compact>
  22. <v-select placeholder="请选择" :data="options" v-model="value"></v-select>
  23. <v-input value="Input content" style="width: 50%"></v-input>
  24. <v-input-number :min="1" :max="10"></v-input-number>
  25. </v-input-group>
  26. <br />
  27. <v-input-group compact>
  28. <v-input value="Input content" style="width: 50%"></v-input>
  29. <v-date-picker></v-date-picker>
  30. </v-input-group>
  31. <br />
  32. <v-input-group compact>
  33. <v-select placeholder="请选择" :data="options" v-model="value" style="width: 10%"></v-select>
  34. <v-select placeholder="请选择" :data="options2" v-model="value" style="width: 10%"></v-select>
  35. </v-input-group>
  36. </template>
  37. <script>
  38. export default {
  39. data() {
  40. return {
  41. options: [{value: '1', label: 'lady'}, {value: '2', label: '小强', disabled: true}, {value: '3', label: '小明'}],
  42. options2: [{value: '1', label: 'lady'}, {value: '2', label: '小强'}, {value: '3', label: '小明'}],
  43. value: '3'
  44. }
  45. }
  46. }
  47. </script>

API

Input Props

参数说明类型默认值
type【必须】声明 input 类型,同原生 input 标签的 type 属性。另外提供 type="textarea"。Stringtext
id输入框的 idString-
placeholder选择框默认文字String0
valuevalue 值any-
size控件大小,默认值为 default 。{"large","default","small"}注:标准表单内的输入框大小限制为 large。Stringdefault
disabled是否禁用状态,默认为 falseBooleanfalse
autosize自适应内容高度,可设置为 true|false 或对象:{ minRows: 2, maxRows: 6 },仅在type为textarea时生效Boolean/Objectfalse
debounce延迟输入状态变化的时间(ms)Number0
slot:beforeinput前面加前缀修饰slot node-
slot:afterinput后面加后缀修饰slot node-

Input Events

事件说明参数
blurblur事件val
keyupkeyup事件val
keydownkeydown事件val

InputGroup

参数说明类型默认值
sizeInputGroup 中所有的 Input 的大小,可选 large default small。Stringdefault
compact是否用紧凑模式。Booleanfalse