当前位置: 首页 > news >正文

vue3整合Element-Plus,极速上手。

条件分页查询:
    需求分析:
        form表单
        Button按钮
        Table表格
        Pagination分页
    页面布局:
        搜索表单:
            如果表单封装的数据较多,建议绑定到一个对象中。
            定义表单搜索接口:
                export interface SearchEmpModel {
  name: string, //姓名
  gender: string, //性别
  begin: string, //开始时间
  end: string, //结束时间
  date: string[] //时间范围
}

            定义表单搜索对象:
                //搜索表单对象
let searchEmp = ref<SearchEmpModel>({
    begin: '', 
    end: '', 
    date: [], 
    name: '',
    gender: ''
}) 

            watch监听:
                作用:
                    侦听一个或多个响应式数据源,并在数据源变化时调用所给的回调函数。
                用法:
                    1,导入watch函数
                        import { ref, watch } from 'vue'
const a = ref<string>('')

                    2,执行watch函数,传入要监听的响应式数据(ref对象)和回调函数
                        watch(a, (newVal , oldVal) => { //侦听a的变化
  console.log(`a的值为: newVal: ${newVal}, oldVal: ${oldVal}`);
}) 

                侦听对象的单个属性:
                    import { ref, watch } from 'vue'
const user = ref({name:'', age:10})

                    watch( () => user.value.name , (newVal , oldVal) => {  //侦听user对象中name的变化
  console.log(`a的值为: newVal: ${newVal}, oldVal: ${oldVal}`);
})
                侦听对象的全部属性:(深度侦听)
                    import { ref, watch } from 'vue'
const user = ref({name:'', age:10})

                    watch(user, (newVal , oldVal) => {  //侦听user对象中的全部属性的变化
  console.log(`a的值为: newVal: ${newVal}, oldVal: ${oldVal}`);
}, {deep: true}) 

                        //监听searchEmp的date属性
watch(() => searchEmp.value.date, (newVal, oldVal) => {
  if(newVal) {
    searchEmp.value.begin = newVal[0]
    searchEmp.value.end = newVal[1]
  }else {
    searchEmp.value.begin = ''
    searchEmp.value.end = ''
  }
})

                第三个可选参数,常见两个选项:
                    deep(boolean):是否深度侦听,默认浅层侦听。

                    immediate(boolean):是否在侦听创建时立即触发回调函数。

        数据表格:
            <el-table>标签
                首列显示复选框,需要把<el-table-column> 标签的type属性改为 selection
                在操作的那一列<el-table-column>,需要使用插槽,在这一列中定义<temlpate>
             <el-pagination>标签
                1,绑定了三个属性:current-page(当前页码),current-size(每页显示的记录数),total(总共有多少条记录)
                2,绑定了两个方法:handleSizeChange(页面大小发生变化时触发),handleCurrentChange(当前页码发生变化时触发)
                3,动态绑定了:page-sizes属性,里面定义的是,下拉菜单每页显示的条数。
                4,layout属性,里面填写的是,分页条的各个功能,它们出现的位置或者,有多少个,就决定了,页面显示的效果。
    页面交互:
        查询:
            逻辑:点击查询按钮的时候,根据输入的条件进行参数分页查寻。
            参数:此案例包含:name,gender,begin,end,page,pageSize
            使用钩子函数,在页面加载完毕就要开始,调用查询的方法。
            查询到的数据要赋值给,我们定义的table要展示的数据表格数组。
            总记录数:要封装到分页参数对象里面的total属性中。
        清空:
            逻辑::点击清空时,清空搜索表单中表单项的内容,并再次查询最新数据。

        页码发生变化:
            handleCurrentChange,方法里面定义一个参数,表示当前的页码。
        每页显示的记录数发生变化:
            handleSizeChange,方法里面写一个参数,代表每页显示的记录数的变化。

新增员工:

修改员工:

删除员工:

登录认证:

打包部署(nginx):
 

相关文章:

  • 【Qt-编码】
  • 中北大学 软件构造 U+及上课代码详解
  • winlogbeat收集Windows事件日志传给ELK
  • 详细讲解Java8中的forEach()用法
  • html旋转相册
  • 『CVE』简析CVE-2023-48795:SSH协议前缀截断攻击(Terrapin攻击)
  • 【python】Ubuntu下安装spyder及matplotlib中文显示
  • 分布式锁常见问题及其解决方案
  • Elasticsearch基本使用
  • hive中array相关函数总结
  • 验证码服务使用指南
  • 算法基础之最长公共子序列
  • 基于Python的新能源汽车销量分析与预测系统
  • 前端学习笔记
  • 平衡二叉树的构建(递归
  • 08.Android之View事件问题
  • Docker 笔记(2):Dockerfile
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • PAT A1120
  • Puppeteer:浏览器控制器
  • Rancher-k8s加速安装文档
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • 搭建gitbook 和 访问权限认证
  • 关于for循环的简单归纳
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 算法-图和图算法
  • 项目管理碎碎念系列之一:干系人管理
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 新版博客前端前瞻
  • 学习JavaScript数据结构与算法 — 树
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • $jQuery 重写Alert样式方法
  • (1)(1.9) MSP (version 4.2)
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (javascript)再说document.body.scrollTop的使用问题
  • (Java数据结构)ArrayList
  • (js)循环条件满足时终止循环
  • (WSI分类)WSI分类文献小综述 2024
  • (ZT)出版业改革:该死的死,该生的生
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (三)mysql_MYSQL(三)
  • (一)插入排序
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)Linq学习笔记
  • .apk 成为历史!
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .net与java建立WebService再互相调用
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • @Transient注解