Skip to content
# t-input

Input 输入框

t-input 组件介绍 ​

t-input 支持多种配置,包括前置图标、后置图标、清空输入、密码显示等功能。组件提供了丰富的属性,如绑定值、图标类名、是否显示边框等,可以根据不同需求进行定制。适用于各种表单场景,方便用户进行文本输入。

t-input 平台兼容 ​

HarmonyH5AndroidiOS小程序UTS
✅✅✅✅✅✅

t-input 基础用法 ​

基础用法参考 demo/input/input.uvue,通过 v-model 绑定输入值。

vue
<template>
	<view>
		<tui-theme-switch></tui-theme-switch>
		<t-card title="Input 输入框"
				class="m-15"
				size="large"
				sub-title="支持多种配置,包括前置图标、后置图标、清空输入、密码显示等功能。组件提供了丰富的属性,如绑定值、图标类名、是否显示边框等,可以根据不同需求进行定制。适用于各种表单场景,方便用户进行文本输入。"></t-card>
		<t-card title="提示"
				class="mlrb-15"
				size="large"
				type="error"
				sub-title="官方input封装,type属性和框架冲突,input-type属性对应input的type"></t-card>
		<introduction title="主题-type">

			<t-button class="mb-15"
					  type="success"
					  @click="disabled=!disabled">{{disabled?'正常':'禁用'}}</t-button>
			<t-input class="mb-15"
					 placeholder="请输入内容"
					 :disabled="disabled"
					 v-model="inputVal"
					 prefix-icon="map"
					 suffix-icon="mic"></t-input>
			<t-input class="mb-15"
					 placeholder="请输入内容"
					 v-model="inputVal"
					 type="success"
					 :password="true"
					 size="large"></t-input>

			<t-input class="mb-15"
					 placeholder="请输入内容"
					 v-model="inputVal"
					 type="warning"></t-input>
			<t-input class="mb-15"
					 placeholder="请输入内容"
					 v-model="inputVal"
					 type="error"></t-input>
		</introduction>
		<introduction title="主题-size">
			<t-input class="mb-15"
					 placeholder="请输入内容"
					 v-model="inputVal"
					 size="large"
					 prefix-icon="map"
					 suffix-icon="mic"
					 type="success"></t-input>
			<t-input class="mb-15"
					 placeholder="请输入内容"
					 v-model="inputVal"
					 size="medium"
					 type="info"></t-input>
			<t-input class="mb-15"
					 placeholder="请输入内容"
					 v-model="inputVal"
					 size="small"
					 type="warning"></t-input>
			<t-input class="mb-15"
					 placeholder="请输入内容"
					 v-model="inputVal"
					 size="mini"
					 type="error"></t-input>
		</introduction>
		<introduction title="对齐方式">
			<t-input class="mb-15"
					 placeholder="请输入内容"
					 v-model="inputVal"
					 size="large"
					 input-class="sta-r"
					 prefix-icon="map"
					 suffix-icon="mic"
					 type="primary"></t-input>

		</introduction>
		<introduction title="自定义样式">
			<t-input class="mb-15 r-90!"
					 placeholder="请输入内容"
					 v-model="inputVal"
					 type="primary"
					 size="large"></t-input>
			<t-input class="mb-15"
					 placeholder="请输入内容"
					 input-type="number"
					 v-model="inputVal"
					 type="primary"
					 size="large"></t-input>
		</introduction>
	</view>
</template>

<script setup
		lang="ts">
	import { ref } from 'vue';

	const inputVal = ref('8151');
	const disabled = ref(false);

	const clear = () => {
		console.log('清除');
	}
</script>

t-input Props ​

属性名说明类型默认值
path点击组件后跳转的页面路径;为空时仅响应事件string''
hover是否启用点击效果booleantrue
type组件主题类型,可选 info、primary、error、warning、successstring''
disabled是否禁用booleanfalse
effect组件显示主题,可选 normal、dark、light、plainstring'normal'
size组件尺寸,可选 large、medium、small、ministring'medium'
modelValue双向绑定的值string''
prefixIcon前置图标名称string''
prefixClass前置图标样式string''
suffixIcon后置图标名称string''
suffixClass后置图标样式string''
clearabled是否显示清除按钮booleanfalse
clearIcon清除按钮图标名称string'close'
clearClass清除按钮样式string''
password是否为密码输入框booleanfalse
eyeIcon密码可见图标名称string'eye'
eyeOffIcon密码不可见图标名称string'eye-off'
eyeClass密码切换图标样式string''
name输入框名称string''
inputType输入框类型string'text'
placeholder占位提示文字string''
placeholderstyle占位文字样式string''
maxlength最大输入长度number-1
cursorSpacing光标与键盘的距离number0
autoFocus是否自动聚焦booleanfalse
focus是否聚焦booleanfalse
confirmType键盘右下角按钮文字string'done'
inputClass输入框样式string''

t-input Events ​

事件名说明回调参数
input输入时触发value: string
focus聚焦时触发-
blur失焦时触发-
confirm点击键盘完成按钮时触发-
keyboardheightchange键盘高度变化时触发-
click点击时触发-
clear清除时触发-
update:modelValue双向绑定值更新时触发value: string

t-input Slots ​

插槽名说明
left左侧内容插槽,默认显示前置图标
right右侧内容插槽,默认显示后置图标