vue3.0仿写百度分页组件 chatgpt优化版

在这里插入图片描述
在这里插入图片描述

我写的<template><div class="paginations" v-if='totalItems > 0'><button @click="changePage(1)"  >首页</button><button @click="changePage(currentPage - 1)" :disabled="currentPage === 1" :class="{ disabled: currentPage === 1 }" >上一页</button><buttonv-for="page in pages":key="page"@click="changePage(page)":class="{ active: page === currentPage }">{{ page }}</button><button@click="changePage(currentPage + 1)":class="{ disabled: (totalPages === 1||currentPage === totalPages) }":disabled="(totalPages === 1||currentPage === totalPages)">下一页</button><!-- <button  @click="changePage(totalPages)">末页</button> --></div>
</template><script>
import {defineComponent,ref,watch,onMounted,onBeforeMount,computed,
} from "vue";export default defineComponent({name: "pagination",props: {totalItems: {type: Number,},pageSize: {type: Number,default: 10,},current: {type: Number,default: 1,},},setup(props, { emit }) {const currentPage = ref(1);watch(() => props.current,(newVal) => {currentPage.value = newVal;},{immediate: true, // 这个属性是重点啦deep: true, // 深度监听的参数});const totalPages = ref(0);const pages = ref([]);onBeforeMount(() => {});onMounted(() => {});const changePage = (page) => {if (page < 1 || page > totalPages.value) {return;}currentPage.value = page;emit("page-change", page);};watch(() => props.totalItems,(newVal) => {// 显示在分页上的页码开始结束 最多5个,start end 表示显示在开始结束位置的页码totalPages.value = Math.ceil(newVal / props.pageSize);const start = Math.max(1, currentPage.value - 2);const end = Math.min(Math.ceil(newVal / props.pageSize),currentPage.value + 2);const page = [];for (let i = start; i <= end; i++) {page.push(i);}pages.value = page;},{immediate: true, // 这个属性是重点啦deep: true, // 深度监听的参数});watch(() => currentPage,(newVal) => {totalPages.value = Math.ceil(props.totalItems / props.pageSize);const start = Math.max(1, newVal.value - 2);const end = Math.min(totalPages.value, newVal.value + 2);const page = [];for (let i = start; i <= end; i++) {page.push(i);}pages.value = page;},{immediate: true, // 这个属性是重点啦deep: true, // 深度监听的参数});return {changePage,currentPage,totalPages,pages,};},
});
</script><style>
.paginations {display: flex;
}
.paginations button {margin: 0 5px;padding: 5px 10px;border: 1px solid #ccc;background-color: #fff;cursor: pointer;
}
.paginations button.active,
.paginations button:hover {background-color: #007bff;color: #fff;cursor: pointer;
}
.paginations button.disabled {opacity: 0.5;cursor: not-allowed;background-color: #ccc;
}
</style>chatgpt优化它<template><div class="paginations" v-if="totalItems > 0"><button @click="changePage(1)">首页</button><button @click="changePage(currentPage - 1)" :disabled="currentPage === 1" :class="{ disabled: currentPage === 1 }">上一页</button><button v-for="page in pageRange" :key="page" @click="changePage(page)" :class="{ active: page === currentPage }">{{ page }}</button><button @click="changePage(currentPage + 1)" :disabled="currentPage === totalPages" :class="{ disabled: currentPage === totalPages }">下一页</button></div>
</template><script>
import { defineComponent, ref, computed, watchEffect } from "vue";export default defineComponent({name: "Pagination",props: {totalItems: {type: Number,required: true,},pageSize: {type: Number,default: 10,},current: {type: Number,default: 1,},},setup(props, { emit }) {const currentPage = ref(props.current);const totalPages = computed(() => Math.ceil(props.totalItems / props.pageSize));const pageRange = computed(() => {const range = [];const start = Math.max(1, currentPage.value - 2);const end = Math.min(totalPages.value, currentPage.value + 2);for (let i = start; i <= end; i++) {range.push(i);}return range;});watchEffect(() => {currentPage.value = props.current;});const changePage = (page) => {if (page < 1 || page > totalPages.value) {return;}currentPage.value = page;emit("page-change", page);};return {currentPage,totalPages,pageRange,changePage,};},
});
</script><style>
.paginations {display: flex;
}.paginations button {margin: 0 5px;padding: 5px 10px;border: 1px solid #ccc;background-color: #fff;cursor: pointer;
}.paginations button.active,
.paginations button:hover {background-color: #007bff;color: #fff;cursor: pointer;
}.paginations button.disabled {opacity: 0.5;cursor: not-allowed;background-color: #ccc;
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/5656.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT目前优化现状

文章目录 复习一下什么是ChatGPT一、目前优化的项&#xff08;使用中的感受&#xff09;二、结合上下文三、断层连续性四、知识跟进总结 复习一下什么是ChatGPT ChatGPT是基于OpenAI的GPT-3.5架构的语言模型&#xff0c;旨在提供广泛的语言理解和生成能力。它通过训练大量的文…

ChatGPT + 低代码,将干掉 40% 的程序员

见字如面&#xff0c;我是军哥&#xff01; 关于程序员失业有个段子&#xff1a;拖拽建站出来的时候&#xff0c;他们人说程序员会失业&#xff1b;低代码出来了&#xff0c;他们说程序员会失业&#xff1b;Copilot出来了&#xff0c;他们说程序员会失业&#xff1b;如今ChatGP…

Java的Idea怎么用ChatGpt,让些代码变丝滑?

发现两款idea的AI插件神器&#xff0c;和一个AI编辑器 1、tabnine https://zhuanlan.zhihu.com/p/343938113 当提示代码出现后&#xff0c;其中 按tab键就可以通用提示出的代码了&#xff0c;alt[ 是换提示代码&#xff0c;试用期限为14天。&#xff08;注意标红的&#xff0…

ChatGPT优化Python代码的小技巧

使用 chatGPT 优化代码并降低运行时的云成本 许多开发人员说“过早的优化是万恶之源”。 这句话的来源归功于Donald Knuth。在他的书《计算机编程的艺术》中&#xff0c;他写道&#xff1a; “真正的问题是&#xff0c;程序员在错误的时间和错误的地方花费了太多时间来担心效率…

为什么有很多国家以及地区要限制chatGPT的发展

作为GPT-3.5 Turbo&#xff0c;我可以尝试为您解答这个问题。虽然我无法提供现实世界的观点&#xff0c;但我可以尝试为您提供一些可能的原因。 限制ChatGPT发展的国家和地区可能有各种原因。以下是其中一些可能的原因&#xff1a; 1.数据隐私和安全&#xff1a; 人们担心使用…

ChatGPT大封号,注册功能关闭!亚洲成重灾区,网友自救喊话:不要登录,不要登录...

明敏 萧箫 发自 凹非寺量子位 | 公众号 QbitAI “不要登录ChatGPT&#xff01;” “暂时远离人工智能和ChatGPT概念板块高位股&#xff01;” 就在这两天&#xff0c;一些关于ChatGPT的疾呼突然在各种社交平台和群聊刷屏了。 而看到这些消息的用户更是感到前所未有的惶恐。 因为…

免登录在线查询OpenAI ChatGPT API key余额

本文目录&#xff1a; 一、问题来源二、几个查询余额的方案1、后台直接查询2、隐藏的接口【现在不好用了】3、最新的方案 三、在线网页查询 一、问题来源 ChatGPT不断强大&#xff0c;用得人多。目前为止OpenAI还是会给新注册的用户送5美金&#xff0c;因此大部分应用还是直接…

使用chatgpt来提高你的编程能力,简直如虎添翼

下面大家跟着我的问题&#xff0c;可以跟着我一起向 chatgpt老师学习&#xff0c;相信我的问题可能你也会感兴趣。 在Java中&#xff0c;boolean类型的数组默认初始化为false。也就是说&#xff0c;如果你创建了一个boolean类型的数组&#xff0c;但是没有初始化它&#xff0c;…

基于ChatGPT的新一代辅助编程神器——Cursor

Cursor 编辑器 Cursor 这是一款与OpenAI合作并且基于GPT3的新一代辅助编程神器。它支持多种文件类型&#xff0c;支持格式化文本&#xff0c;支持多种主题&#xff0c;支持多语言语法高亮&#xff0c;支持快捷键设置&#xff0c;支持代码折叠、括号匹配、自动缩进等功能等功能…

ChatGPT办公自动化实战

ChatGPT从入门到精通&#xff0c;一站式掌握办公自动化/爬虫/数据分析和可视化图表制作 全面AI时代就在转角 道路已经铺好了 “局外人”or“先行者” 就在此刻 等你决定 让ChatGPT帮你高效实现职场办公&#xff01;行动起来吧 。。。。。 还有更多。。。。&#xff0c;可以沟通…

ChatGPT搞砸了~,如何使用VBA导出Word文档中的图片

今年大火的ChatGPT似乎无所不能&#xff0c;但是它的确不是万能的&#xff0c;咱们来试试。 提供的代码根本无法运行&#xff0c;继续问&#xff0c;换了个代码&#xff0c;非常不幸的是–还是不能用。 Word VBA中并没有内置的方法可以直接导出图片&#xff0c;ChatGPT没有…

chatgpt赋能python:Python读取PNG文件

Python读取PNG文件 在图像处理和机器学习中&#xff0c;常常需要读取图像文件进行进一步处理和分析。其中&#xff0c;PNG是一种常见的图像格式。Python作为一种简单易学且功能强大的编程语言&#xff0c;也可以帮助我们轻松地读取PNG文件。在本文中&#xff0c;我们将介绍Pyt…

chatgpt赋能python:Python自动获取图片数据的方法

Python自动获取图片数据的方法 随着信息时代的到来&#xff0c;图像数据已经越来越重要。我们如何从互联网上获取大量的图片数据呢&#xff1f;Python提供了简单而直接的方法。本文将介绍如何使用Python自动获取图片数据&#xff0c;充分利用Python的编程能力&#xff0c;开展…

Chatgpt3可以看到图像?!

有一篇英语作文要写&#xff0c;但是我又比较懒&#xff0c;所以找gpt帮帮俺菜菜啦。但是比较不一样的是&#xff0c;这是一篇图表作文&#xff0c;那我自然需要上传表格&#xff0c;虽然gpt4已经出来了&#xff0c;但是作为一个不怎么使用gpt 的人&#xff0c;我还是选择不用充…

chatgpt赋能python:Python如何读取照片

Python如何读取照片 介绍 Python是一种高级编程语言&#xff0c;其简单易用、可扩展性强等特点&#xff0c;使其在数据分析、机器学习等领域得到了广泛应用。而在图像处理领域&#xff0c;Python同样也有着较为优异的表现。本文将介绍Python读取照片的方法&#xff0c;并探讨…

ChatGPT访问互联网,不神秘了

我测试了一下&#xff0c;它其实调用了微软必应的api&#xff0c;搜索了关键词而已 比如我问它&#xff1a;https://twitter.com/elonmusk 马斯克最近在忙什么 它的回答是&#xff1a; 近期&#xff0c;马斯克在做的一些事情包括&#xff1a; 在2023年的特斯拉年度股东大会…

ChatGPT API 低价上线,网友:用上 import openai,能开一家创业公司!

整理 | 屠敏 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 无须质疑&#xff0c;ChatGPT 正处于 AIGC 赛道中妥妥的 C 位。截 2022 年 12 月&#xff0c;ChatGPT 的月活跃用户估计超过 1 亿人。它不仅被大学教授用来作为新型教育课程的创新工具&#xff0c;也被…

阿里版ChatGPT已进入测试!中文聊天截图曝光,达摩院出品

来源&#xff1a;量子位 | 微信公众号ID&#xff1a;QbitAI 谷歌硬刚ChatGPT消息一出&#xff0c;科技圈全坐不住了。 就在前两天&#xff0c;阿里百度网易京东一众公司全宣布要推出类ChatGPT新产品&#xff0c;战况那叫一个激烈。 阿里内测中的达摩院版ChatGPT&#xff0c;也被…

阿里版 ChatGPT已进入测试!中文聊天截图曝光,达摩院出品

上一篇&#xff1a;ChatGPT修bug横扫全场&#xff0c;准确率达78%&#xff01;程序员喜忧参半 谷歌硬刚ChatGPT消息一出&#xff0c;科技圈全坐不住了。 就在昨晚&#xff0c;阿里百度网易京东一众公司全宣布要推出类ChatGPT新产品&#xff0c;战况那叫一个激烈。 阿里内测中的…

WPS AI(海外版)使用体验分享

最近很幸运的通过了WPS AI海外版的内测waitlist&#xff0c;这里和大家分享一下使用的体验和评价。 申请与安装 WPS AI分为国内版和海外版两种&#xff0c;其中根据WPS自己的介绍&#xff0c;国内版本的模型由MinMax公司提供&#xff0c;海外版则是直接使用OpenAI的接口。 国…