项目之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 条"
-->
相关推荐
毕设源码-赖学姐2 小时前
【开题答辩全过程】以 高校竞赛试题库管理平台为例,包含答辩的问题和答案
java
南山乐只2 小时前
Java并发原生工具:原子类 (Atomic Classes)
java·开发语言·后端
一颗青果2 小时前
C++下的atomic | atmoic_flag | 内存顺序
java·开发语言·c++
木叶子---2 小时前
pdf生成排查记录与解决方案
java·pdf
Sylvia-girl2 小时前
Java之异常
java·开发语言
Sylvia33.2 小时前
网球/羽毛球数据API:专业赛事数据服务的技术实现
java·前端·websocket·json
爱丽_2 小时前
Spring 框架
java·后端·spring
期待のcode2 小时前
浅堆深堆与支配树
java·jvm·算法
小北方城市网2 小时前
SpringBoot 集成 RabbitMQ 实战(消息队列):实现异步通信与系统解耦
java·spring boot·后端·spring·rabbitmq·mybatis·java-rabbitmq