# 1、组件
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|
type | 类型 | string | text textarea 和其他原生 input 的 type 值 | text |
modelValue、v-model | 绑定值 | string、number | — | — |
size | 输入框尺寸,只在 type 不为textarea 时有效 | string | large、default、small | — |
name | 等价于原生 input name 属性 | string | — | — |
readonly | 原生 readonly 属性,是否只读 | boolean | — | false |
placeholder | 输入框占位文本 | string | — | — |
clearable | 是否可清空 | boolean | — | false |
prefix-icon | 自定义前缀图标 | string、Component | — | — |
suffix-icon | 自定义后缀图标 | string、Component | — | — |
minlength | 原生属性,最小输入长度 | number | — | — |
maxlength | 最大输入长度 | string、number | — | — |
show-word-limit | 是否显示输入字数统计,只在 type = "text" 或 type = "textarea" 时有效 | boolean | — | false |
show-passwordt | 是否显示切换密码图标 | boolean | — | false |
<template>
<div>
<el-input />
<el-input type="textarea" />
<el-input v-model="input" />
<el-input v-model="input" size="large" />
<el-input v-model="input" size="small" />
<el-input v-model="input" name="input" />
<el-input v-model="input" readonly />
<el-input v-model="input" placeholder="请输入" />
<el-input v-model="input" clearable />
<el-input v-model="input" prefix-icon="House" suffix-icon="Bell" />
<el-input v-model="input" maxlength="10" show-word-limit />
<el-input v-model="input" maxlength="10" show-passwordt />
</div>
</template>
<script>
import { reactive, toRefs } from "vue";
export default({
setup() {
const data = reactive({
input : ''
})
return {
...toRefs(data)
}
}
})
</script>
# 2、事件
事件名 | 说明 | 参数 |
---|
blur | 在 Input 失去焦点时触发 | (event: Event) |
focus | 在 Input 获得焦点时触发 | (event: Event) |
change | 在输入框失去焦点或用户按下回车时触发 | (value: string、number) |
input | 在 Input 值改变时触发 | (value: string、number) |
clear | 在点击由 clearable 属性生成的清空按钮时触发 | — |
<template>
<div>
<el-input v-model="input" @blur="event('失去焦点')" />
<el-input v-model="input" @focus="event('获得焦点')" />
<el-input v-model="input" @change="event('在输入框失去焦点或用户按下回车时触发')" />
<el-input v-model="input" @input="event('值改变时')" />
<el-input v-model="input" clearable @clear="event('清空按钮时')" />
</div>
</template>
<script>
import { reactive, toRefs } from "vue";
export default({
setup() {
const data = reactive({
input : ''
})
const event = (e) => {
console.log(e);
}
return {
...toRefs(data),
event
}
}
})
</script>
# 1、数字输入框组件
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|
v-model | 选中项绑定值 | number、undefined | — | — |
min | 设置计数器允许的最小值 | number | — | -Infinity |
max | 设置计数器允许的最大值 | number | — | Infinity |
step | 计数器步长 | number | — | 1 |
size | 计数器尺寸 | string | large、small | default |
disabled | 是否禁用计数器 | boolean | — | false |
name | 原生 name 属性 | string | — | — |
label | 输入框关联的 label 文字 | string | — | — |
placeholder | 输入框默认 placeholder | string | - | - |
<template>
<div>
<el-input-number v-model="input"/>
<el-input-number v-model="input" min="10" max="20" />
<el-input-number v-model="input" step="2" />
<el-input-number v-model="input" size="large" />
<el-input-number v-model="input" />
<el-input-number v-model="input" size="small" />
<el-input-number v-model="input" disabled />
<el-input-number v-model="input" name="input" label="input" placeholder="请输入" />
</div>
</template>
<script>
import { reactive, toRefs } from "vue";
export default({
setup() {
const data = reactive({
input : ''
})
return {
...toRefs(data),
}
}
})
</script>
# 2、数字输入框事件
事件名 | 说明 | 参数 |
---|
change | 绑定值被改变时触发 | (currentValue: number、NaN,oldValue: number、NaN) |
blur | 在 Input 失去焦点时触发 | (event: Event) |
focus | 在 Input 获得焦点时触发 | (event: Event) |
<template>
<div>
<el-input-number v-model="input" @change="event('绑定值被改变时触发')" />
<el-input-number v-model="input" @blur="event('失去焦点时触发')" />
<el-input-number v-model="input" @focus="event('获得焦点时触发')" />
</div>
</template>
<script>
import { reactive, toRefs } from "vue";
export default({
setup() {
const data = reactive({
input : ''
})
const event = (e) => {
console.log(e);
}
return {
...toRefs(data),
event
}
}
})
</script>
# 三、Radio
单选框
# 1、单选框组件
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|
v-model | 选中项绑定值 | string、number、boolean | — | — |
label | 单选框对应的值 | string、number、boolean | — | — |
disabled | 是否禁用单选框 | boolean | — | false |
border | 是否显示边框 | boolean | — | false |
size | 尺寸 | string | large、default、small | — |
name | 原生 name 属性 | string | — | — |
<template>
<div>
<el-radio label="1" v-model="radio">欧阳克</el-radio>
<el-radio label="2" v-model="radio">朱天蓬</el-radio>
<el-radio label="3" v-model="radio">灭绝师太</el-radio>
<el-radio label="1" v-model="radio" disabled>欧阳克</el-radio>
<el-radio label="1" v-model="radio" border>欧阳克</el-radio>
<el-radio label="1" v-model="radio" size="large">欧阳克</el-radio>
<el-radio label="2" v-model="radio" size="default">朱天蓬</el-radio>
<el-radio label="3" v-model="radio" size="small">灭绝师太</el-radio>
</div>
</template>
<script>
import { reactive, toRefs } from "vue";
export default({
setup() {
const data = reactive({
radio : ''
})
return {
...toRefs(data)
}
}
})
</script>
# 2、单选框组件
<el-radio-button></el-radio-button>
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|
label | 单选框对应的值 | string、number、boolean | — | — |
disabled | 是否禁用单选框 | boolean | — | false |
size | 尺寸 | string | large、default、small | — |
name | 原生 name 属性 | string | — | — |
<template>
<div>
<el-radio-button label="1">欧阳克</el-radio-button>
<el-radio-button label="2">朱天蓬</el-radio-button>
<el-radio-button label="3">灭绝师太</el-radio-button>
<el-radio-button label="1" disabled>欧阳克</el-radio-button>
<el-radio-button label="1" size="large">欧阳克</el-radio-button>
<el-radio-button label="2" size="default">朱天蓬</el-radio-button>
<el-radio-button label="3" size="small">灭绝师太</el-radio-button>
</div>
</template>
<script>
import { reactive, toRefs } from "vue";
export default({
setup() {
const data = reactive({
radio : ''
})
return {
...toRefs(data)
}
}
})
</script>
# 3、单选框组件
<el-radio-group><el-radio></el-radio></el-radio-group>
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|
v-model | 选中项绑定值 | string、number、boolean | — | — |
size | 单选框组尺寸 | string | large、default、small | default |
disabled | 是否禁用 | boolean | — | false |
text-color | 按钮形式的 Radio 激活时的文本颜色 | string | — | #ffffff |
fill | 按钮形式的 Radio 激活时的填充色和边框色 | string | — | #409EFF |
<template>
<div>
<el-radio-group v-model="radio">
<el-radio label="1">欧阳克</el-radio>
<el-radio label="2">朱天蓬</el-radio>
<el-radio label="3">灭绝师太</el-radio>
</el-radio-group>
<el-radio-group v-model="radio" size="large">