elementUI 学习- Layout布局 与UI 设定

本文详细介绍了ElementUI的Layout布局,包括分栏、间距、漂移、对齐方式和响应式布局的设置。此外,还讲解了颜色与字体、ICON图标、Button图标的各种样式和功能,以及Radio单选框和CheckBox的用法,包括禁用状态、单选框组和按钮组的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Layout布局

1.创建布局

通过Col组件的:span属性调整Layout布局,分为24栏。

el-row>
  <el-col :span="24"><div class="grid-content bg-purple-dark"></div></el-col>
</el-row>

2.分栏间隔

通过Row组件的:gutter属性来调整布局之间的宽度。

<el-row :gutter="20">
  <el-col :span="6"><div class="grid-content bg-purple"></div></el-col>
  <el-col :span="6"><div class="grid-content bg-purple"></div></el-col>
</el-row>

3.分栏漂移

通过Col组件的:offset属性调整栅格的偏移位置(每次1格/24格)。

<el-row :gutter="20">
  <el-col :span="6" :offset="6"><div class="grid-content bg-purple"></div></el-col>
  <el-col :span="6" :offset="6"><div class="grid-content bg-purple"></div></el-col>
</el-row>

4.对齐方式

通过Row组件的type="flex"启动flex布局,再通过Row组件的justify属性调整排版方式,属性值分别有

  1. start 居前(默认)
  2. center 居中
  3. end 居后
  4. space-between 分布自适应(两边–中间,两边没有空隙)
  5. around (中间–两边,两边会有空隙)
<el-row type="flex" class="row-bg" justify="center">
  <el-col :span="6"><div class="grid-content bg-purple"></div></el-col>
  <el-col :span="6"><div class="grid-content bg-purple-light"></div></el-col>
</el-row>

5.响应式布局

参考bootstrap的响应式,预设四个尺寸

  1. xs <768px
  2. sm ≥768px
  3. md ≥992
  4. lg ≥1200
<el-row :gutter="10">
  <el-col :xs="8" :sm="6" :md="4" :lg="3"><div class="grid-content bg-purple"></div></el-col>
  <el-col :xs="4" :sm="6" :md="8" :lg="9"><div class="grid-content bg-purple-light"></div></el-col>
  <el-col :xs="4" :sm="6" :md="8" :lg="9"><div class="grid-content bg-purple"></div></el-col>
  <el-col :xs="8" :sm="6" :md="4" :lg="3"><div class="grid-content bg-purple-light"></div></el-col>
</el-row>

颜色与字体

此处暂时略过


ICON图标

今后可以使用<i>来做图标,给其class添加el-icon-iconName即可。 
可以在<button>上添加icon属性。

<i class="el-icon-edit"></i>
<i class="el-icon-share"></i>
<i class="el-icon-delete"></i>
<el-button type="primary" icon="search">搜索</el-button>
  •  

Button图标

1.主题风格

  1. default
  2. primary 蓝色
  3. text 文字蓝色无边框
<el-button>默认按钮</el-button>
<el-button type="primary">主要按钮</el-button>
<el-button type="text">文字按钮</el-button>

2.禁用状态 
通过修改:disabled的boolean值true,false来控制按钮是否禁用。

<el-button :plain="true" :disabled="true">主要按钮</el-button>
<el-button type="primary" :disabled="true">主要按钮</el-button>
<el-button type="text" :disabled="true">文字按钮</el-button>

3.颜色暗示

  1. 默认按钮,通过type的值来控制
  2. 朴素按钮,hover显示颜色 ,通过plain的boolean值来控制

4.图标按钮

按钮不添加字,设置icon属性即可

<el-button type="primary" icon="edit"></el-button>

按钮添加字,图标居按钮文字左侧

<el-button type="primary" icon="search">搜索</el-button>

可以在<button>文字右侧添加<i>标签,图标居按钮文字右侧

<el-button type="primary">上传
<i class="el-icon-upload el-icon--right"></i>
</el-button>

5.加载中

设置loading属性为true即可

<el-button type="primary" :loading="true">加载中</el-button>
  • 1

6.按钮尺寸

设置size属性来配置

  • large 大
  • 正常
  • small 小
  • mini 超小 
    其他
  • autofocus:是否默认对焦,boolean
  • native-type:原生type,string(button,submit,reset)
  • -

Radio单选框(label前面到底加不加:冒号)

1.基本用法

v-model属性用来绑定变量

label用来赋值(想要选中该单选框,label的值必须等于v-model绑定的变量值,Number/String)

<template>
  <el-radio class="radio" v-model="radio" label="1">备选项</el-radio>
  <el-radio class="radio" v-model="radio" label="2">备选项</el-radio>
</template>

<script>
  export default {
    data () {
      return {
        radio: '1'
      };
    }
  }
</script>

2.禁用状态

设置disableed的boolean值为true

<template>
  <el-radio disabled v-model="radio1" label="禁用">备选项</el-radio>
  <el-radio disabled v-model="radio1" label="选中且禁用">备选项</el-radio>
</template>

<script>
  export default {
    data () {
      return {
        radio1: '选中且禁用'//此处变量值等于label变量值
      };
    }
  }
</script>

3.单选框组

<el-radio-group> </el-radio-group> 包含即可。

只需要在<el-radio-group>中绑定v-model, 
<el-radio>中设置:label即可。 
(提供可一个change方法响应变化,会传入一个value值)

<template>
  <el-radio-group v-model="radio2">
    <el-radio :label="3">备选项</el-radio>
    <el-radio :label="6">备选项</el-radio>
    <el-radio :label="9">备选项</el-radio>
  </el-radio-group>
</template>

<script>
  export default {
    data () {
      return {
        radio2: 3
      };
    }
  }
</script>

4.按钮组(单选)

个人炒鸡喜欢 
lable就是显示的值 
在按钮组当中添加<el-radio-button>就可以实现, 
并且支持对size属性设置largesmall两个属性,不设置为默认。

<el-radio-group v-model="radio5" :disabled="true">
    <el-radio-button label="上海" :disabled="true">
    </el-radio-button>
    <el-radio-button label="北京"></el-radio-button>
    <el-radio-button label="广州"></el-radio-button>
    <el-radio-button label="深圳"></el-radio-button>
  </el-radio-group>
</template>

<script>
  export default {
    data () {
      return {
        radio5: '上海'
      };
    }
  }
</script>

CheckBox单选框

1.基础用法 
设置v-model属性绑定变量。

<template>
  <!-- `checked` 为 true 或 false -->
  <el-checkbox v-model="checked">备选项</el-checkbox>
</template>
<script>
  export default {
    data() {
      return {
        checked: true
      };
    }
  };
</script>
  • 2.禁用状态 

设置disabled属性即可。

<el-checkbox v-model="checked2" disabled>备选项</el-checkbox>
### ElementUI 分页组件使用教程 #### 安装引入 为了使用Element UI中的分页组件,首先需要确保已经正确安装并配置好了Element UI。可以选择完整引入整个库或是通过按需加载的方式只导入所需的模块[^3]。 #### 基础HTML结构设置 创建一个简单的页面布局,在适当位置放置`<el-pagination>`标签来定义分页控件的位置以及外观特性。例如: ```html <div id="app"> <!-- 表格或其他显示区域 --> <!-- 分页栏 --> <el-pagination style="margin-left:62vw" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="pageNum" :page-sizes="[10, 20, 30]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="this.totalNum" > </el-pagination> </div> ``` 此部分代码设置了分页器的基础样式及其交互事件处理函数名,并指定了默认参数如每页大小选项(`page-sizes`)、初始页面数量(`currentPage`)等属性值[^5]。 #### 数据处理逻辑编写 为了让分页功能生效,还需要配合JavaScript/Vue.js完成实际的数据筛选工作。通常情况下,会利用计算属性(computed property)根据当前选中的页码和设定的每页记录数目对原始数据集(tableData)做切片(slice operation)[^2]。下面给出一段简化版的例子用来解释这一过程: ```javascript new Vue({ el: '#app', data() { return { pageNum: 1, pageSize: 10, totalNum: 100, tableData: Array.from({ length: 100 }, (_, i) => `Item ${i + 1}`) }; }, computed: { paginatedData() { const start = (this.pageNum - 1) * this.pageSize; const end = start + this.pageSize; return this.tableData.slice(start, end); } }, methods: { handleSizeChange(newSize) { console.log(`${newSize} items per page`); this.pageSize = newSize; }, handleCurrentChange(currentPage) { console.log(`current page: ${currentPage}`); this.pageNum = currentPage; } } }); ``` 上述脚本片段展示了如何监听用户的输入变化(比如改变每页项数或跳转至特定页),并通过更新相应的状态变量触发视图重新渲染,从而达到动态调整表格内容的效果。 #### 实现连续编号的功能扩展 如果希望即使跨多页也能保持行号连贯递增,则可以在模板内加入额外的计算字段负责生成这些序号。具体做法如下所示: ```vue <tr v-for="(item, index) in paginatedData" :key="index"> <td>{{ getRowIndex(index) }}</td> <!-- 显示行号 --> <td>{{ item }}</td> </tr> ... methods: { ... getRowIndex(indexWithinPage) { return ((this.pageNum - 1) * this.pageSize) + indexWithinPage + 1; } } ``` 这段代码实现了当用户翻阅不同页面时,每一行前面都会显示出正确的全局顺序号码而不是仅限于单页内的相对位次[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值