# 影视列表

# 介绍

影视列表和大多列表页一样,使用 container-layout 组件,分为上中下三部分,上部分为搜索表单区域,中间为内容区域,下部分为分页组件区域。

# 搜索表单区域

<!-- 自定义搜索条件表单 -->
<template v-slot:header>
	<!-- 用户点击搜索时,需要重置页码与list值 -->
	<m-button type="search" @click="getData(true)" :loading="loading" />
</template>

# 内容区域

内容区域可以写 v-slot:default,也可以不写这个默认模板。如果写了,则引入的组件必须放于默认模板中,否则会无法加载。

<template v-slot:default>
<!-- 内容与三方组件 -->
</template>

# 分页区域

<template v-slot:footer>
	<!-- 分页组件如下使用即可 -->
	<m-pagination :pagination.sync="pagination" @on-change="getData()" />
</template>

# 数据获取

// 引入查询影视列表接口
import { getMovies } from "@/api/movie";

export default {
	data() {
		return {
			// 设置默认值
			...this.$defaults(),
			// form 数据会与 this.$defaults 中的 form 对象合并
			form: {
				keyword: "",
			},
		}
	},

	// 在 Layout 中已将本组件加入 `keep-alive`,
	// 所以此处需要早 `activated` 生命周期中调用查询列表接口
	activated() {
		// 统一查询列表方法
		this.getData();
	},

	methods: {
		getData(isReset) {
			// 具体使用方法说明查看 `global.js`
			this.$getData(getMovies, this, isReset);
		},
	}
}
上次更新: 6/24/2022, 12:10:54 AM