数据录入与表单有已知边界
NnTextarea 文本域
多行输入与自动高度。
示例
API
Props
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
value | string | number | '' | 文本值,配合 v-model:value。 |
rows | number | string | 2 | 原生行数。 |
placeholder | string | '' | 占位文字。 |
status | string | '' | error、warning 使用对应状态样式。 |
disabled | boolean | false | 禁用输入。 |
readonly | boolean | false | 原生只读状态。 |
maxlength | number | string | — | 原生最大长度。 |
autoSize | boolean | object | false | 真值时根据 scrollHeight 自动设置高度。 |
bordered | boolean | true | 是否显示边框。 |
autoScroll | false | 'start' | 'end' | false | 挂载及外部 value 更新后是否跟随到开头或末尾;不会在用户输入事件后自动滚动。 |
width | string | number | — | 宽度;数字或纯数字字符串按 px,其他字符串作为 CSS 值。 |
height | string | number | — | 高度,换算规则同 width。 |
resize | string | 'vertical' | none、both、horizontal、vertical;无效值的样式回退为 vertical。 |
未声明的属性会转发到原生 <textarea>。
Events
| 事件 | 参数 | 说明 |
|---|---|---|
update:value | (value: string) | 每次输入触发。 |
input | (event: InputEvent) | 原生输入事件。 |
change | (event: InputEvent) | 当前与 input 同时触发,不等待失焦。 |
pressEnter | (event: KeyboardEvent) | 任意 Enter keydown 都会触发,包括正常换行。 |
focus | (event: FocusEvent) | 原生 focus。 |
blur | (event: FocusEvent) | 原生 blur。 |
keydown | (event: KeyboardEvent) | 原生 keydown。 |
keyup | (event: KeyboardEvent) | 原生 keyup。 |
Expose
| 名称 | 签名或值 | 说明 |
|---|---|---|
textarea | HTMLTextAreaElement 引用 | 内部原生元素。 |
focus | (options?: FocusOptions) => void | 聚焦。 |
blur | () => void | 移除焦点。 |
select | () => void | 选择全部文本。 |
scrollTo | (...args: Parameters<HTMLTextAreaElement['scrollTo']>) => void | 调用内部原生文本域的 scrollTo。 |
scrollToEnd | (options?: ScrollBehavior | { behavior?: ScrollBehavior }) => void | 保持横向位置并滚动到 scrollHeight。 |
当前限制
autoSize 对象当前只按真值处理,不读取最小/最大行数等对象字段。autoScroll 的 Boolean 类型只接受 false;需要自动跟随时应显式传 'start' 或 'end'。
