Skip to content

TextField 文本框

支持字符过滤、最大长度、占位提示、单行/多行、自适应高度、中文输入法,以及密码模式。

请输入世界名称
仅数字
请输入密码
name = "",num = "",pwd = ""
vue
<script setup lang="ts">
import { ref } from 'vue'
const name = ref('')
const pwd = ref('')
</script>

<template>
  <mc-text-field v-model="name" hint="请输入世界名称" :max-length="20" />
  <mc-text-field v-model="num" type="number" hint="仅数字" />
  <mc-text-field v-model="pwd" password hint="请输入密码" />
</template>

Props

名称类型默认说明
modelValuestring''输入内容(v-model)
type'text' | 'all' | 'number' | 'letter' | 'operator' | 'base' | 'none'text字符过滤规则
singleLinebooleantrue禁止回车换行
maxLengthnumber0最大字符数(0 不限)
hintstring''占位提示
disabledbooleanfalse是否禁用
passwordbooleanfalse密码模式,底层切换为 input[type=password]

Events

事件参数说明
update:modelValuestringv-model 更新
changestring值变化
invalid-input输入了被过滤规则拒绝的字符

原生属性

<mc-text-field> 支持所有原生属性透传(placeholderreadonlyrequiredtabindexautofocusspellcheckaria-* 等)。密码模式下透传至 <input>,普通模式下透传至 <textarea>

html
<mc-text-field
  v-model="text"
  placeholder="请输入"
  readonly
  required
  tabindex="1"
/>

MIT Licensed · 设计语言移植自 Spectrollay-McUI