Skip to content

输入框组

@astryxdesign/core v0.7.1 · InputGroup

Price
$
Website
https://
.com

使用方法 ​

InputGroup 将输入框与前缀、后缀、按钮等元素组合成一个整体,常用于需要添加说明标签、单位、操作按钮的场景。

基本用法通过 before 和 after 插槽添加前置或后置内容:

vue
<script setup lang="ts">
import { InputGroup, InputGroupText } from '@astryx-vue/core/InputGroup'
import { TextInput } from '@astryx-vue/core/TextInput'
import { ref } from 'vue'

const domain = ref('')
</script>

<template>
  <InputGroup label="网站">
    <template #before>
      <InputGroupText>https://</InputGroupText>
    </template>
    <TextInput v-model="domain" label="网址" is-label-hidden placeholder="example" />
    <template #after>
      <InputGroupText>.com</InputGroupText>
    </template>
  </InputGroup>
</template>

写上标签之后,这一组就是一个字段:标签、说明、可选或必填、状态都由字段壳负责,不要在外面再包一层。组内输入框自己的标签继续说明这一格填什么,通常隐藏起来。前后缀里的固定文字用组内文本组件,它和前后缀共用同一套字号和颜色。没有标签时,组仍然只是一条连在一起的控件,方便嵌进已经有字段的表单。

解剖

部分说明
标签组上方的文字。
前缀输入前面的内容,可以是文字、图标或按钮。
输入主要输入元素,可以是 TextInput、NumberInput、TimeInput、DateInput、Typeahead、Selector 或 MultiSelector。
后缀输入后面的内容,可以是文字、图标或按钮。
状态消息组下面的错误、警告或成功提示。

最佳实践 ​

指引实践
推荐用前置内容展示单位、协议前缀等固定文本。
推荐用后置内容放置清除按钮、提交按钮等操作。
推荐保持前后缀内容简洁,避免占用过多空间。
避免同时使用过多前后缀元素,会让输入框显得拥挤。

示例 ​

基本

Price
$
USD

金额输入两侧是固定的前缀和后缀,用来标明单位。

网站

Website
https://
.com

协议和域名后缀固定在输入框两侧。

字段状态

Price Optional
Before tax
$
USD
Enter an amount

带上标签之后,说明、可选和错误都由这一组自己负责。