项目之html+javaScript

文章目录

js

路由配置对象

js 复制代码
const router = [
{
  path: '/xxx',                							// 路由路径:当浏览器地址栏为 /xxx 时匹配此路由
  name: 'xxx',                							 // 路由名称:可用于编程式导航
  component: () => import('../xxx/xxx/xxx.vue'), // 指定该路由对应的组件,使用动态 import 实现懒加载(按需加载)
  meta: {  													// 定义元信息
    auth: true,                      // 设置访问该页面的权限,需要用户已登录(权限控制用)
    title: '账单明细'                // 设置页面标题(可在路由守卫中读取并 document.title = to.meta.title)
  }
}
]

组件定义

js 复制代码
export default {
    name: 'xxx', // 组件的注册名称,可用于调试工具或递归组件调用。
    props: {}, // 定义父组件传递给该组件的属性(props)。为空表示不接受外部传参
    data() { // 组件的响应式数据
      return {
        isClosed: false,
        statusDefault: '',
        companyName: '',
        typeDefault: '',
        statusList: [],
        typeList: [],
        orderNo: '',
        startTime: '',
        endTime: '',
        tableData: [],
        pagination: {
          pageSize: 10, // 每页显示的条数
          currentPage: 1, // 当前页码
          total: 0 // 数据总条数
        },
      }
    },
    component: {
      // 用于注册局部子组件
      // 当前写成 component(单数)会导致子组件无法正确注册
    }, 
    methods: {
			// 定义组件内的方法(如搜索、重置、分页切换等)
		}

html

el-date-picker日期选择器组件

html 复制代码
<div class="form-item clearfix">
    <span class="form-label">结束日期</span>
    <el-date-picker // Element UI 的日期选择器组件,用于选择日期
      v-model="dateEnd" // Vue 的双向数据绑定,输入框的内容会实时同步到 Vue 实例的dateEnd变量中;
      type="date" // 类型是日期,而不是年月/时间
      clearable // 允许清空已选择的日期
      placeholder="选择日期"> // 占位提示文字
    </el-date-picker> 
    <span class="can-click search-button" @click="doSearch">查询</span>
    // 点击事件绑定,点击 "查询" 按钮会触发 Vue 实例中的doSearch方法(查询数据的核心逻辑)。
  </div>

el-table表格组件

html 复制代码
<el-table
:data="tableData"  
:border="true"
style="width: 100%"
>
<!-- :data="tableData"   数据绑定核心属性,tableData 是 Vue 组件 data 中定义的数组,数组里的每个对象对应表格的一行数据 -->
<!-- :border="true":布尔类型的绑定属性,设置为 true 表示显示表格的边框 -->
<el-table-column
  prop="companyName"
  label="xxx"
  fixed
  min-width="120"
>
<!-- 该列要展示 tableData 中每行数据的 companyName 属性值
		表格表头
		固定列属性,设置后该列会固定在表格左侧,当表格横向滚动时不会消失
		列的最小宽度为 120px,保证内容不会被过度挤压,同时支持自适应拉伸 -->
</el-table-column>
<el-table-column
  prop="deposit"
  label="xxx"
  align="right"
  min-width="100"

>
  <template slot-scope="scope">
    <span class="can-click detail-btn" style="color: #2388FB" @click="turnTo('/deposit/'+scope.row.companyId)">{{scope.row.deposit}}</span>
    <!-- Element UI 表格的作用域插槽,scope 是插槽的上下文对象,包含当前行的所有数据:
    			scope.row:表示当前行的数据对象
    			渲染当前行的 deposit 字段值 -->
  </template>
</el-table-column>

el-select下拉选择组件

html 复制代码
<el-select v-model="typeDefault">
  <el-option
    v-for="item in typeList"
    :key="item.id"
    :label="item.name"
    :value="item.id">
  </el-option>
</el-select>
<!-- Element UI/Plus 提供的下拉选择组件。
	v-model:双向绑定,将用户选择的值自动同步到 Vue 实例中的 typeDefault 数据属性;同时,typeDefault 的初始值也会决定默认选中项。
<el-option>:表示下拉菜单中的每一个选项。
v-for="item in typeList":遍历 typeList 数组(通常是一个对象数组),为每个 item 渲染一个选项。
:key="item.id":Vue 的 key 属性
:label="item.name":显示在下拉列表中的文字内容(用户看到的名称)。
:value="item.id":该选项被选中时,实际赋给 v-model的值。
-->

el-pagination分页组件

html 复制代码
<el-pagination
  layout="prev, pager, next,sizes, jumper, total"
  background
  @current-change="handleCurrentChange"
  @size-change="handleSizeChange"
  :page-sizes="[10,15, 30, 50, 100]"
  :current-page="pagination.currentPage"
  :page-size="pagination.pageSize"
  :total="pagination.total">
</el-pagination>

<!-- 
设置分页组件的布局顺序:
• prev:上一页按钮
• pager:页码列表
• next:下一页按钮
• sizes:每页显示条数选择器
• jumper:跳转到指定页输入框
• total:显示总条数(如"共 100 条") 

background:为页码按钮添加背景色(视觉更清晰)
当前页码改变时触发的事件,回调函数接收新页码(currentPage)作为参数
每页条数(pageSize)改变时触发的事件,回调函数接收新条数作为参数
定义"每页显示条数"下拉选项,用户可从中选择
绑定当前页码(通常来自 data 中的 pagination.currentPage)
绑定每页显示的条数(如 10、30 等)
绑定数据总条数,用于计算总页数和显示"共 X 条"
-->
相关推荐
忆~遂愿几秒前
GE 引擎进阶:依赖图的原子性管理与异构算子协作调度
java·开发语言·人工智能
MZ_ZXD0015 分钟前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php
PP东7 分钟前
Flowable学习(二)——Flowable概念学习
java·后端·学习·flowable
ManThink Technology13 分钟前
如何使用EBHelper 简化EdgeBus的代码编写?
java·前端·网络
invicinble17 分钟前
springboot的核心实现机制原理
java·spring boot·后端
人道领域25 分钟前
SSM框架从入门到入土(AOP面向切面编程)
java·开发语言
大模型玩家七七1 小时前
梯度累积真的省显存吗?它换走的是什么成本
java·javascript·数据库·人工智能·深度学习
CodeToGym1 小时前
【Java 办公自动化】Apache POI 入门:手把手教你实现 Excel 导入与导出
java·apache·excel
凡人叶枫1 小时前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发
JMchen1232 小时前
Android后台服务与网络保活:WorkManager的实战应用
android·java·网络·kotlin·php·android-studio