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

uniapp left right 的左右模态框

标题


这是组件

<template><div class="content-wrapper"><divv-for="(vla, i) in products":key="i":class="['content-page', getPageClass(i)]"><slot :data="vla"><!-- 用户自定义的内容 --></slot></div></div></template><script>export default {props: {products: {type: Array,required: true},selectedIndex: {type: Number,default: 0}},methods: {getPageClass(index) {if (index === this.selectedIndex) {return 'active';} else if (index < this.selectedIndex) {return 'left';} else {return 'right';}}}};</script><style scoped>.content-wrapper {position: relative;overflow: hidden;height: 300px; /* 根据需要调整高度 */}.content-page {position: absolute;width: 100%;height: 100%;top: 0;left: 0;transition: all 0.3s ease;opacity: 0;transform: translateX(100%);display: flex;}.content-page.active {opacity: 1;transform: translateX(0);}.content-page.left {transform: translateX(-100%);}.content-page.right {transform: translateX(100%);}</style>

demo  组件调用模拟
 

<template><div><ProductSlider :products="products" :selectedIndex="selectedIndex"><template v-slot:default="{ data }"><div class="product-item"><h3>{{ data.name }}</h3><p>{{ data.description }}</p></div></template></ProductSlider><button @click="prev">Previous</button><button @click="next">Next</button></div></template><script>import ProductSlider from './components/content-wrapper.vue'; // 假设组件名为 ProductSliderexport default {components: {ProductSlider},data() {return {products: [{ name: 'Product 1', description: 'Description 1' },{ name: 'Product 2', description: 'Description 2' },{ name: 'Product 3', description: 'Description 3' }],selectedIndex: 0};},methods: {prev() {if (this.selectedIndex > 0) {this.selectedIndex--;}},next() {if (this.selectedIndex < this.products.length - 1) {this.selectedIndex++;}}}};</script><style scoped>.product-item {padding: 20px;background: #f0f0f0;border: 1px solid #ddd;border-radius: 4px;}</style>

http://www.lryc.cn/news/425326.html

相关文章:

  • Docker Compose与私有仓库部署
  • Layout 布局组件快速搭建
  • 北京城市图书馆-非遗文献馆:OLED透明拼接屏的璀璨应用
  • OpenCV图像滤波(12)图像金字塔处理函数pyrDown()的使用
  • css如何使一个盒子水平垂直居中
  • 机器人等方向学习和研究的目标
  • 封装一个细粒度的限流器
  • 【Spring Boot - 注解】@ResponseBody 注解:处理 JSON 响应
  • 无人机航拍与ArcGIS融合实战:从地表观测到空间数据可视化的全方位指南!无人机图像拼接数据处理与分析、可视化与制图
  • 日期转时间濯
  • 【计算机网络】TCP实战
  • 使用Python制作贪吃蛇小游戏
  • 线程的退出
  • 【AI 绘画】Q版人物定制生成
  • Python爬虫——爬取某网站的视频
  • Android逆向题解攻防世界-easy-apk
  • Linux系统使用Typecho搭建个人网站并一键发布公网远程管理本地站点
  • 机器学习速成第三集——无监督学习之聚类(理论部分)!
  • 【机器学习】CNN的基本架构模块
  • 第八节AWK报告生成器(2)
  • Linux 进程间通信之管道
  • IDEA 无法启动,点击之后没有任何提示或者界面
  • ctf 堆栈结构
  • sqlserver的openquery配置
  • Spring boot logback日志框架加载初始化源码
  • qt-11基本对话框(消息框)
  • Windows11下wsl闪退的解决
  • 通过调整JVM的默认内存配置来解决内存溢出(‌OutOfMemoryError)‌或栈溢出(‌StackOverflowError)‌等错误
  • RCE---eval长度限制绕过技巧
  • C++11标准模板(STL)- 算法库 - 类似 std::accumulate,但不依序执行 -(std::reduce)