arco design表单label和输入框的空间分布

表单空间分布

arco利用的栅格系统来实现labelinput的大小分布

<a-form 
  :model="formData.form" 
  :label-col-props="{ span: 6 }" 
  :wrapper-col-props="{ span: 18 }"
>
    // 其它......
</a-form>

栅格系统中,默认空间总量24,在这里label空间6,表单输入input的空间为18,下面是效果:
在这里插入图片描述

如果空间改成一致,则labelinput大小一致

<a-form 
  :model="formData.form" 
  :label-col-props="{ span: 6 }" 
  :wrapper-col-props="{ span: 6 }"
>
    // 其它......
</a-form>

在这里插入图片描述

这种栅格系统可以很好的规避表单大小规范不统一的问题。


栅格系统来划分表单分布

我们来看下面的例子:
在这里插入图片描述

这种将表单拆成了2行,空间均匀分布,这里使用了栅格系统

   <a-form :model="formData.form" :label-col-props="{ span: 6 }" :wrapper-col-props="{ span: 18 }">
      <a-row :gutter="16">
        <a-col :span="6">
          <a-form-item field="name" label="姓名">
            <a-input v-model="formData.form.name" placeholder="请输入姓名" allow-clear />
          </a-form-item>
        </a-col>
        <a-col :span="6">
          <a-form-item field="phone" label="手机号">
            <a-input v-model="formData.form.phone" placeholder="请输入手机号" allow-clear />
          </a-form-item>
        </a-col>
        <a-col :span="6">
          <a-form-item field="email" label="邮箱">
            <a-input v-model="formData.form.email" placeholder="请输入邮箱" allow-clear />
          </a-form-item>
        </a-col>
        <a-col :span="6">
          <a-form-item>
            <a-space>
              <a-button type="primary">
                <template #icon>
                  <icon-search />
                </template>
                <template #default>查询</template>
              </a-button>
              <a-button>
                <template #icon>
                  <icon-refresh />
                </template>
                <template #default>重置</template>
              </a-button>
              <a-button type="text" @click="formData.search = !formData.search">
                <template #icon>
                  <icon-up v-if="formData.search" />
                  <icon-down v-else />
                </template>
                <template #default>{{ formData.search ? "收起" : "展开" }}</template>
              </a-button>
            </a-space>
          </a-form-item>
        </a-col>
      </a-row>
      <a-row :gutter="16" v-if="formData.search">
        <a-col :span="6">
          <a-form-item field="address" label="地址">
            <a-input v-model="formData.form.address" placeholder="请输入地址" allow-clear />
          </a-form-item>
        </a-col>
        <a-col :span="6">
          <a-form-item field="status" label="用户状态">
            <a-select v-model="formData.form.status" placeholder="请选择用户状态" allow-clear>
              <a-option value="1">停用</a-option>
              <a-option value="2">启用</a-option>
            </a-select>
          </a-form-item>
        </a-col>
      </a-row>
    </a-form>

form 表单内嵌套 <a-row> 栅格系统,这样就可以做到空间均匀分布

相关推荐

  1. 前端js优化中单个输入回车提交事件

    2024-06-18 21:08:01       54 阅读
  2. vue实现输入数字类型校验功能

    2024-06-18 21:08:01       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-18 21:08:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-18 21:08:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-18 21:08:01       87 阅读
  4. Python语言-面向对象

    2024-06-18 21:08:01       96 阅读

热门阅读

  1. vue3 配置全局@符号

    2024-06-18 21:08:01       22 阅读
  2. Linux 【Vim命令】文本编辑器

    2024-06-18 21:08:01       35 阅读
  3. SqlServer编写存储过程

    2024-06-18 21:08:01       22 阅读
  4. 如何查看k8s中service的负载均衡策略

    2024-06-18 21:08:01       31 阅读
  5. React中数据响应式原理

    2024-06-18 21:08:01       28 阅读
  6. COMP9727 Recommender Systems

    2024-06-18 21:08:01       22 阅读
  7. 循 环 结 构

    2024-06-18 21:08:01       34 阅读