首页IT科技ant design react 表格列表数据(Ant Design表单之labelCol 和wrapperCol的实际开发笔记)

ant design react 表格列表数据(Ant Design表单之labelCol 和wrapperCol的实际开发笔记)

时间2025-08-05 07:53:08分类IT科技浏览3779
导读:目录...

目录

前言

一            、labelCol和wrapperCol是什么

二                   、布局的栅格化

1.布局的栅格化系统的工作原理

三      、栅格常用的属性

1.左右偏移

2.区块间隔

3.栅格排序

四         、labelCol和wrapperCol的实际使用

总结

前言

主要是记录一下栅格布局的一些属性和labelCol                   、wrapperCol等            。

一         、labelCol和wrapperCol是什么

首先            ,我们先去查询Ant Design Vue文档,

 由图中可知                   ,它是属于Grid栅格里面的属性                   。

而labelCol是什么意思呢      ,直接去翻译一下,而label它是标签的意思         ,而Col它是列的意思                   ,所以         ,从字面上去理解      ,就是标签列      。而wrapperCol                   ,它在英文里面翻译是封装的意思            ,在实际中   ,它是封闭的                   ,你可以理解为那种封闭的输入框               ,所以,它可以理解为输入框列         。如果说                ,你需要去设置布局样式时                   ,就使用它                   。

二      、布局的栅格化

1.布局的栅格化系统的工作原理

根据官网的文档描述如下:布局的栅格化系统   ,我们是基于行(row)和列(col)来定义信息区块的外部框架            ,以保证页面的每个区域能够稳健地排布起来         。下面简单介绍一下它的工作原理:

通过`row`在水平方向建立一组`column`(简写 col) 你的内容应当放置于`col`内                   ,并且      ,只有`col`可以作为`row`的直接元素 栅格系统中的列是指 1 到 24 的值来表示其跨越的范围      。例如         ,三个等宽的列可以使用 `` 来创建 如果一个`row`中的`col`总和超过 24                   ,那么多余的`col`会作为一个整体另起一行排列

首先         ,我们要先了解这个布局      ,我们才能由浅深入地一步步地往下学习                   ,接下来            ,我们先来看一张布局图片   ,

 如图上所示                   ,分别有3列               ,第1列,它是由2个col-12组成的                ,所以它的效果图是这样的                   ,col总和为24;第2列   ,它是由3个col-8组成的            ,col总和也为24                   ,效果图如上;第3列      ,它是由4个col-6组成的         ,col总和也为24                   ,效果图如上                   。

代码如下:

<a-row> <a-col :span="12">col-12</a-col> <a-col :span="12">col-12</a-col> </a-row> <a-row> <a-col :span="8">col-8</a-col> <a-col :span="8">col-8</a-col> <a-col :span="8">col-8</a-col> </a-row> <a-row> <a-col :span="6">col-6</a-col> <a-col :span="6">col-6</a-col> <a-col :span="6">col-6</a-col> <a-col :span="6">col-6</a-col> </a-row>

所以         ,这就是很基础的栅格咯            。

从堆叠到水平排列   。

使用单一的一组 Row 和 Col 栅格组件      ,就可以创建一个基本的栅格系统                   ,所有列(Col)必须放在 Row 内                   。

由上所知            ,我们大概知道什么是栅格的布局了   ,那后面                   ,我们就能开始了

三                   、栅格常用的属性

1.左右偏移

我们直接用图来说会比较清楚               ,如图所示,它们的中间都有间隔                ,那就是我们想要的效果了                   ,我们就是想要它们之间有分隔的效果   ,那要实现            ,就要使用到这个offset属性了               。

 使用 offset 可以将列向右侧偏。例如                   ,offset={4} 将元素向右侧偏移了 4 个列(column)的宽度      ,直接上代码更清晰                。

代码如下:

<a-row> <a-col :span="8">col-8</a-col> <a-col :span="8" :offset="8">col-8</a-col> </a-row> <a-row> <a-col :span="6" :offset="6">col-6 col-offset-6</a-col> <a-col :span="6" :offset="6">col-6 col-offset-6</a-col> </a-row> <a-row> <a-col :span="12" :offset="6">col-12 col-offset-6</a-col> </a-row>

从第2行代码         ,讲解一下                   ,:span = "8",代表这个列占了8个格         ,而:offset="8",表示这一列      ,要往右移动8个格                   。

2.区块间隔

有些时候                   ,我们需要更多的间隔            ,想要图下的效果   ,我们可以这样实现                   ,

官网描述是这样的:

栅格常常需要和间隔进行配合               ,你可以使用 Row 的 gutter 属性,我们推荐使用 (16+8n)px 作为栅格间隔(n 是自然数)   。

如果要支持响应式                ,可以写成 { xs: 8, sm: 16, md: 24, lg: 32 }            。

如果需要垂直间距                   ,可以写成数组形式 [水平间距, 垂直间距] [16, { xs: 8, sm: 16, md: 24, lg: 32 }]                   。

代码如下:

<a-row :gutter="16"> <a-col class="gutter-row" :span="6"> <div class="gutter-box">col-6</div> </a-col> <a-col class="gutter-row" :span="6"> <div class="gutter-box">col-6</div> </a-col> <a-col class="gutter-row" :span="6"> <div class="gutter-box">col-6</div> </a-col> <a-col class="gutter-row" :span="6"> <div class="gutter-box">col-6</div> </a-col> </a-row>

我们从代码上进行分析   ,首先            ,它的<a-row>里面使用了:gutter的属性                   ,我们先去翻译一下这个单词是什么意思先      ,经过翻译         ,它是指排水沟或雨水槽的意思哈哈哈      。那:gutter="16"就意味着这个排水沟的沟槽是16个间隔这么大;而官方所说的 (16+8n)px                    ,怎么理解呢         ,反正我是这么理解的      ,这个n就是用来调整间隔大小来用的                   ,而这个是16            ,说明这个n也就是0了嘛         。

3.栅格排序

有些时候   ,我们需要对栅格里面的列进行排序呀                   ,官网是这样描述的               ,所谓的列排序,它是指通过使用 push 和 pull 类就可以很容易的改变列(column)的顺序                   。

四            、labelCol和wrapperCol的实际使用

下面我通过开发代码来讲述                ,

代码如下:

<a-col :md="6" :sm="24"> <a-form-item label="物料编号" :labelCol="{span: 8}" :wrapperCol="{span: 15, offset: 1}"> <a-input v-model.trim="criteria.matnr"/> </a-form-item> </a-col> </a-row> <a-row> <a-col :md="6" > <a-form-item label="起始日期" :labelCol="{span: 8}" :wrapperCol="{span: 14, offset: 1}"> <a-date-picker v-model="criteria.promDateStart" style="width: 100%;"> </a-date-picker> </a-form-item> </a-col> <a-col :md="6" :sm="24"> <a-form-item label="结束日期" :labelCol="{span: 8}" :wrapperCol="{span: 14, offset: 1}"> <a-date-picker v-model="criteria.promDateEnd" style="width: 100%;"/> </a-form-item> </a-col>

它的效果图所下:

 首先                   ,我们从这效果图来分析   ,是没什么大问题            ,然后我们看一下这个代码分析                   ,由于它这个标签是<a-form-item>表单标签来的      ,所以这个:labelCol="{span: 8}" :wrapperCol="{span: 14, offset: 1}都是包含在里面的         ,而labelCol="{span: 8}"                   ,你可以这样理解         ,这个的意思就是指            ”起始日期“   、                   ”结束日期“这些内容所占用的空间为8个格      ,而 :wrapperCol="{span: 14, offset: 1}                   ,它就是后面的封闭的框的所占的空间为14个格            ,并且还往右移动了1个格         。

那么接下来   ,我在改变一下                   ,把      ”起始日期“改为         ”促销起始日期“6个字后               ,我们在看一下效果,

 由图可知                ,那个冒号不见了                   ,那是因为空间就只有8个格这么大   ,而现在加多了2个字            ,放不下了                   ,所以那个冒号不见了      。

好了      ,知道问题所在         ,那么我们该怎么进行解决呢?

先看图                   ,

现在         ,它的效果出来了      ,其实                   ,很简单            ,就是把之前的labelCol="{span: 8}"   ,把它改一下就可以了                   ,把它改为labelCol="{span: 9}" 即可了               ,但前提是:span:9+span: 14+1要小于或者等于24才行,否则它会增加一行的                   。

综上所述                ,我们知道                   ,这个labelCol 通常都是指图上的这些文字标签的内容   ,而wrapperCol通常是指图上的输入框的内容            ,而它们之间的总和是24个格                   ,效果可以根据这个24个格慢慢地去调整即可            。

总结

主要是记录一下栅格布局的一些属性和labelCol                   、wrapperCol等   。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
苹果mac怎么连接蓝牙鼠标(Mac怎么连接蓝牙鼠标? Mac配对MagicMouse鼠标的教程)