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> 栅格系统,这样就可以做到空间均匀分布

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值