使用elementui 表单完成查询搜索等布局
<script lang='ts' setup>
// 导入vue
import {ref,reactive} from 'vue'
// 定义数据存储的集合
var Data = reactive({
// 输入查询条件
q_str:ref(''),
// 存储从后台获取的所有院系信息
facultyOptions:reactive([
{value:1,label:'计算机学院'},
{value:2,label:'语言学院'},
{value:3,label:'法律学院'},
]),
// 存储选择院系后的值
facultySelected:ref(""),
// 存储从后台获取所有专业信息
majorOptions:reactive([
{value:1,label:'计算机应用'},
{value:2,label:'刑法'},
{value:3,label:'汉语研究'},
]),
//存储选择专业后的值
majorSelected:ref("")
})
</script>
<template>
<el-form :inline="true" class="demo-form-inline" style="display:flex">
<el-form-item label="查询条件:">
<el-input v-model="Data.q_str" placeholder="请输入查询条件" />
</el-form-item>
<el-form-item label="院系">
<el-select v-model="Data.facultySelected" placeholder="请选择院系">
<el-option v-for="item in Data.facultyOptions" :key="item.value" :label="item.label" :value="item.value"/>
</el-select>
</el-form-item>
<el-form-item label="专业">
<el-select v-model="Data.majorSelected" placeholder="请选择专业">
<el-option v-for="item in Data.majorOptions" :key="item.value" :label="item.label" :value="item.value"/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" >
<el-icon><component class="'icons" is='Search'></component></el-icon>
<span>查询</span>
</el-button>
<el-button type="primary" >
<el-icon><component class="'icons" is='List'></component></el-icon>
<span>全部</span></el-button>
<el-button type="primary" >
<el-icon><component class="'icons" is='CirclePlus'></component></el-icon>
<span>添加</span></el-button>
</el-form-item>
</el-form>
</template>
数据展示部分
<!-- 2. 数据展示部分 -->
<el-table :data="Data.students" stripe border style="width: 100%" :header-cell-style="{backgroundColor:'#409EFF',color:'#FFF',fontSize:'14px'}">
<el-table-column type="index" label="序号" align="center" width="60" />
<el-table-column prop="sno" label="学号" align="center" width="180" />
<el-table-column prop="name" label="姓名" align="center" width="180" />
<el-table-column prop="gender" label="性别" align="center" />
<el-table-column prop="birthday" label="出生日期" align="center" />
<el-table-column prop="faculty" label="院系" align="center" />
<el-table-column prop="major" label="专业" align="center" />
<el-table-column prop="mobile" label="电话" align="center" />
<el-table-column prop="email" label="邮箱" align="center" />
<el-table-column prop="address" label="地址" align="center" />
<el-table-column label="操作" align="center">
<el-button :icon="More" circle />
<el-button type="warning" :icon="Edit" circle />
<el-button type="danger" :icon="Delete" circle />
</el-table-column>
</el-table>
<!-- 分页 -->
<el-pagination style="margin-top:20px"
v-model:currentPage="currentPage4"
v-model:page-size="pageSize4"
:page-sizes="[10,15,20]"
layout="total, sizes, prev, pager, next, jumper"
:total="400"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>