layui前端开发-记录一次弹窗嵌套表格功能的开发

1.碎碎念:

前端是真的难写哇,写的巨烂,毕竟平时很少写前端,很容易忘记。每次写都要抱着官方文档看,特此记录一下layui的使用。
大概就是打开一个弹窗实现一些button然后再渲染一个表格上去。

2.code:


<script type="text/html" id="noticeTablePanelTpl"><div class="layer-box layui-form"><div class="layui-btn-container"><div class="layui-btn layui-btn-sm layui-btn-danger h-mb0" onclick="App.delNoticeTableData()">删除</div></div><table id="noticeTable" lay-filter="noticeTable"></table></div>
</script>
<!-- 缩略图模板 -->
<script type="text/html" id="masterImgTpl"><div class="center"><img class="table-img"  src="{{d.masterImg || '/platform/_ui/static/images/pic.png'}}"></div>
</script>
<script>var App = {};//存储表格的数据App.noticeTableData = [];//弹窗渲染App.showNoticeTablePanel = () => {if (App.noticeTableData.length == 0) {layui.layer.msg("请添加数据");} else {var maxH = $(document).height() > 800 ? ($(document).height()*0.8)+'px' : '600px'var maxW = $(document).width() > 1000 ? ($(document).width()*0.8)+'px' : '800px'var tableHeight = $(document).height() > 800 ? $(document).height() - 370 : 430 ;layui.layer.open({type: 1,title :'上新商品',area:[maxW,maxH],content :$("#noticeTablePanelTpl").html(),btn:['商品推送','关闭'],success:function(){App.showNoticeTable()},yes:function(index){var data = layui.table.checkStatus('noticeTable').data;if(data.length<=0){layui.layer.msg("请选择商品");return false}//上新推送事件。。。。。//删除推送成功的数据App.delNoticeTableDataEvent(data);}})}}//表格渲染,用了模板功能App.showNoticeTable = () => {var tableHeight = $(document).height() > 800 ? $(document).height() - 435 : 430 ;layui.table.render({elem: '#noticeTable',id:'noticeTable',height:tableHeight,data:App.noticeTableData,page: {theme: '#132836',limit:20,layout: ['prev', 'page', 'next','skip','count']},cols:  [[{checkbox: true},{field: 'pId', title: 'ID', width: 80,hide:true,align:'center'},{field: 'masterImg', title: '商品图',templet: '#masterImgTpl',height:80,align:'center'},{field: 'title', title: '商品名称',align:'center'},{field: 'productCode', title: '商品货号',align:'center'},]]});}App.delNoticeTableData = () => {var data = layui.table.checkStatus('noticeTable').data;if(data.length == 0){layui.layer.msg("项目未选择");return false;}layui.layer.msg("确定删除?",{time: 20000, //20s后自动关闭btn: ['删除','取消'],yes:function(index){App.delNoticeTableDataEvent(data);layui.layer.msg('删除成功');}})}App.delNoticeTableDataEvent = (data) => {var param = [];$.each(data,function(index,item){param.push({id:item.pId,})});//删除逻辑for(var i = 0 ; i<App.noticeTableData.length;i++){$.each(param,function(index,item){if(item.id == App.noticeTableData[i].pId){App.noticeTableData.splice(i, 1)}});}App.showNoticeTable();}</script>

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

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

相关文章

基于嵌入式Linux的高性能车载娱乐系统设计与实现 —— 融合Qt、FFmpeg和CAN总线技术

随着汽车智能化的发展&#xff0c;车载娱乐系统已成为现代汽车的标配。本文介绍了一个基于Linux的车载娱乐系统的设计与实现过程。该系统集成了音视频娱乐、导航、车辆信息显示等功能&#xff0c;旨在提供安全、便捷、丰富的驾驶体验。 1. 项目概述 随着汽车智能化的发展&…

240717.学习日志——51单片机C语言版学习总结

课程资料 视频&#xff1a;51单片机入门教程&#xff1a;2020版 书籍&#xff1a;手把手教你学51单片机 开发板&#xff1a;普中51实验版 课程目录 1-1 课程简介 1-2 开发工具介绍及软件安装 1-3 单片机及开发板介绍 2-1 点亮一个LED 2-2 LED闪烁 2-3 LED流水灯 3-1…

postgresql删除用户

背景 **角色与用户**&#xff1a;在 PostgreSQL 中&#xff0c;用户和组的概念是通过“角色”来统一实现的。角色可以有登录权限&#xff08;在这种情况下&#xff0c;它们通常被称为“用户”&#xff09;&#xff0c;也可以没有&#xff08;在这种情况下&#xff0c;它们通常用…

Flutter笔记--WebSocket

Flutter中WebSocket这一块主要用的是插件web_socket_channel&#xff0c;它主要基于 WebSocket 协议&#xff0c;通过该协议实现与服务器之间的双向通信&#xff1b; web_socket_channel 插件的几个主要步骤&#xff1a; 1 连接到WebSocket服务器: 使用 WebSocketChannel.conn…

解决VSCode自动识别文件编码

在VScode 的 设置界面 输入 autoGuess 关键字 &#xff0c;勾选启用即可自动识别&#xff01;&#xff01;&#xff01;

高通Android 12 设置Global属性为null问题

1、最近在做app调用framework.jar需求&#xff0c;尝试在frameworks/base/packages/SettingsProvider/res/values/defaults.xml增加属性 <integer name"def_xxxxx">1</integer> 2、在frameworks\base\packages\SettingsProvider\src\com\android\provide…

LabVIEW电路产品功能自动检测系统

开发基于LabVIEW的电路产品功能自动检测系统。该系统通过整合先进的硬件和软件技术&#xff0c;实现了电路产品的自动化测试&#xff0c;显著提高了测试效率和准确性&#xff0c;对于提升电子产品的可靠性和工作效率具有重要意义。 项目背景 在电子制造业中&#xff0c;电路产…

Springboot 项目 Maven 依赖冲突解决总结

引言 在使用Spring Boot和Maven进行项目开发时&#xff0c;依赖冲突是一个常见的问题。这些冲突可能会导致编译错误、运行时异常或不一致的行为。以下是一些解决Maven依赖冲突的策略和步骤&#xff1a; 1. 理解依赖冲突 在Maven中&#xff0c;依赖冲突通常发生在两个或多个依…

从0到1搭建数据中台(4):neo4j初识及安装使用

在数据中台中&#xff0c;neo4j作为图数据库&#xff0c;可以用于数据血缘关系的存储 图数据库的其他用于主要用于知识图谱&#xff0c;人物关系的搭建&#xff0c;描述实体&#xff0c;关系&#xff0c;以及实体属性 安装 在官网 https://neo4j.com/ 下载安装包 neo4j-co…

Python 在Word表格中插入、删除行或列

Word文档中的表格可以用于组织和展示数据。在实际应用过程中&#xff0c;有时为了调整表格的结构或适应不同的数据展示需求&#xff0c;我们可能会需要插入、删除行或列。以下提供了几种使用Python在Word表格中插入或删除行、列的方法供参考&#xff1a; 文章目录 Python 在Wo…

数据结构(Java):力扣 二叉树面试OJ题(二)【进阶】

目录 &#x1f48e; 1、题一&#xff1a;二叉树的层序遍历 &#x1f31f; 1.1 思路1&#xff08;递归求解&#xff09; &#x1f31f; 1.1.1 思路1代码 &#x1f506; 1.2 思路2&#xff08;队列求解&#xff09; &#x1f506; 1.2.1 思路2代码 &#x1f48e; 2、题二&…

MySQL1

新建产品库mydb6_product: mysql> create database mydb6_product; mysql> use mydb6_product; 建立employees表&#xff1a; mysql> create table employees(id int primary key, name varchar(50) not null, age int, gender varchar(10) not null default unknow…

【chatgpt】通过游戏理解强化学习概念策略policy,动作action和状态state

可以将策略&#xff08;policy&#xff09;类比为一个游戏中的决策指南。假设你正在玩一个游戏&#xff0c;在每个游戏场景&#xff08;状态&#xff09;下&#xff0c;你需要决定下一步应该做什么&#xff08;动作&#xff09;。策略就是告诉你在每个场景下应该做什么的指南。…

查询Mysql数据库所有数据库所占磁盘空间大小

查询Mysql数据库所有数据库所占磁盘空间大小&#xff1a; select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2), MB) as data_size, concat(truncate(sum(index_length)/1024/1024,2),MB) as index_size from information_schema.tables group by TABLE_SCHE…

无需业务改造,一套数据库满足 OLTP 和 OLAP,GaiaDB 发布并行查询能力

在企业中通常存在两类数据处理场景&#xff0c;一类是在线事务处理场景&#xff08;OLTP&#xff09;&#xff0c;例如交易系统&#xff0c;另一类是在线分析处理场景&#xff08;OLAP&#xff09;&#xff0c;例如业务报表。 OLTP 数据库擅长处理数据的增、删、改&#xff0c…

首个WebAgent在线评测框架和流程数据管理平台来了,GPT-4、Qwen登顶闭源和开源榜首!

在当今科技迅速发展的时代&#xff0c;大型语言模型&#xff08;Large Language Model&#xff0c;LLM&#xff09;正以前所未有的速度改变着我们与数字世界的互动方式。基于LLM的智能代理&#xff08;LLM Agent&#xff09;&#xff0c;从简单的信息搜索到复杂的网页操作&…

【Spring Cloud】掌握Gateway核心技术,实现高效路由与转发

目录 前言示例创建一个服务提供者创建网关 创建common子项目 前言 Spring Cloud Gateway 是一个基于 Spring Boot 的非阻塞 API 网关服务&#xff0c;它提供了动态路由、请求断言、过滤器等功能。 以下是关于 Spring Cloud Gateway 的示例&#xff1a; 示例 创建一个服务提…

ECMP等价多路由机制,大模型训练负载均衡流量极化冲突原因,万卡(大规模)集群语言模型(LLM)训练流量拥塞特点

大规模集群&#xff0c;大语言模型(LLM)训练流量特点&#xff0c;ECMP&#xff08;Equal-Cost Multi-Path Routing&#xff09;流量极化拥塞原因。 视频分享在这&#xff1a; 2.1 ECMP等价多路由&#xff0c;大模型训练流量特点&#xff0c;拥塞冲突极化产生原因_哔哩哔哩_bi…

tmux【避免意外关机导致中断服务器中运行的程序】

文章目录 概要1.创建一个新的 tmux 会话2.退出 tmux 会话3.进入 tmux 会话4.终止一个 tmux 会话 概要 #创建一个新的 tmux 会话 tmux new -s my-session #退出 tmux 会话Ctrl-b d #进入 tmux 会话 tmux ls tmux attach -t my-session #终止一个 tmux 会话 tmux kill-session -…

ubuntu如何彻底卸载android studio?

最新版的ubuntu已经使用snap进行软件管理了&#xff0c;我用snap-store安装android studio以后&#xff0c;在安装plugin的时候强制退出后&#xff0c;直接再也进不去了&#xff0c;启动就报错。 先后进行了如下操作依然不行&#xff1a; 1 重装snap-store和android studio都…