解决:使用layui.treeTable.updateNode,更新表格数据后,done里面的事件丢失问题
1. 背景
在给树形表格添加行点击事件,并且只更新当前行数据。 treeTable.updateNode("SpeProjListId", result.LAY_DATA_INDEX, result);更新数据后,点击事件失效。
1. 给字段绑定事件:
class="link_a link_style"
, {field: 'Name', title: '预算专项名称/项目名称', minWidth: 240, rowspan: 2, templet: function (d) {if (d.IsParent) {return `<a href="javascript:;"class="link_a link_style internal_link"data-type="speProjCode"data-value="${d.Code}"data-name="${d.CtrlObjectValue1Name}">${d.CtrlObjectValue1Name}</a>`;} else {return `<a href="javascript:;"class="link_a link_style internal_link"data-type="projCode"data-name="${d.Name}"data-value="${d.ExpBudProjectId}">${d.Name}</a>`;}}}
2. done里面的点击事件:click
treeTable.render({elem: '#SpeProjInfoSel', id: "SpeProjListId", method: "post", height: 'full-300', even: true, data: self.SpecProjInfoList, autoSort: false, page: false, css: [// 对开启了编辑的单元格追加样式'.layui-table-view td[data-edit]{color: #16B777;}'].join(''), cols: [cols, fundCols], limit: 20, tree: {view: {expandAllDefault: true,},customName: {children: "ProjInfoList",name: "Code",isParent: "IsParent"},data: {rootPid: "",},callback: {onExpand: function () {format.init();}}}, done: function (res) {format.init();form.render();$(".expandAll").on("click", function () {treeTable.expandAll("SpeProjListId", true);})$(".foldAll").on("click", function () {treeTable.expandAll("SpeProjListId", false);});urp.callbackFunction.Remark_callBack = function (value, tag) {var indexArr = tag.split(",");var indexs = indexArr[1].split("-");var list = self.SpecProjInfoList[indexs[0]].ProjInfoList[indexs[1]];if (indexArr[0] == "Remark") {list.Remark = value;}}//预算专项抽屉式弹窗(父) 这里的事件触发$(".link_a").click(function () {module.CustomFunction.configSpecInfo($(this).data("value"), $(this).data("name"), $(this).data("type"), $(this).attr("folder-width"));return;});}});
3. 点击事件的回调函数:
urp.callbackFunction.RefreshTable_Link_a=function(){};
函数里面使用了treeTable.updateNode("SpeProjListId", result.LAY_DATA_INDEX, result);更新数据。此时点击事件丢失。
4. 解决方法: table.reload('SpeProjListId', {});重新渲染done里面的事件。
CustomFunction: {configSpecInfo: function (value, valueName, type, folderWidth) {var paramData = {};if (type == "speProjCode") {paramData = module.SpecProjInfoList.find(speInfo => { return speInfo.CtrlObjectValue1 == value });}const area = folderWidth != undefined ? [folderWidth, '100%'] : (type == "projCode" || type == "projAppCode" ? ['70%', '100%'] : ['30%', '100%']);urp.callbackFunction.RefreshTable_Link_a = function (data) {//把数据塞到预算专项里面var result = module.SpecProjInfoList.find(obj => obj.Code == data.CtrlObjectValue1);result = $.extend(result, data)module.SpecProjInfoList = module.SpecProjInfoList.filter(speInfo => { return speInfo.Code != data.CtrlObjectValue1 });module.SpecProjInfoList = module.SpecProjInfoList.concat(result);format.init();
//使用updateNode渲染行数据treeTable.updateNode("SpeProjListId", result.LAY_DATA_INDEX, result);table.reload('SpeProjListId', {});format.init();form.render();}let linkInfo = module.CustomFunction.getLinkHref(type, value)urp.openWindow({href: linkInfo.href,title: linkInfo.title + ` - ${valueName}`,callbackFunction: 'RefreshTable_Link_a',area: area,target: 'parent',queryString: "viewMode=edit",ParamData: paramData,initOpt: {offset: 'r',anim: 'slideLeft',target: 'self',shade: 0.1,shadeClose: true,},})},getLinkHref: (type, value) => {switch (type) {case "speProjCode":return { href: `/BG/ExpBudCtrl/ExpBudProjSpeProjDetail?CtrlObjectValue1=${value}&IsDrawersWindow=true`, title: "预算专项信息" }case "projCode":return { href: `/BG/ExpBudProj/ExpBudProjectDetailR?ExpBudProjectId=${value}&IsDrawersWindow=true`, title: "项目预算信息" }case "projAppCode":return { href: `/PL/ProjectApp/ProjectAppDetailR?ProjCode=${value}&IsDrawersWindow=true`, title: "项目申报书信息" }}},}
4. 效果图

相关文章:
解决:使用layui.treeTable.updateNode,更新表格数据后,done里面的事件丢失问题
1. 背景 在给树形表格添加行点击事件,并且只更新当前行数据。 treeTable.updateNode("SpeProjListId", result.LAY_DATA_INDEX, result);更新数据后,点击事件失效。 1. 给字段绑定事件: class"link_a link_style" , {…...
【Linux】环境变量(初步认识环境变量)
文章目录 1. 环境变量1.1 基本概念 2. 认识常见环境变量2.1 PATH2.2 HOME2.3 SHELL2.4 PWD2.5 USER 3. 理解环境变量 1. 环境变量 在main函数的命令行参数中,有argc、argv、env三个参数。 argc:命令行参数的个数argc:存放每个参数的具体数值…...
79. 单词搜索
思路 每次以当前位置为初始位置开始遍历,看是否找到单词 (以官方题解做出) v:代表等于work[k]且已走过的位置 d:四个方向 回溯(遍历): 匹配不上:终止 找到了:终止(先…...
[单master节点k8s部署]28.Istio流量管理(四)
金丝雀发布实验 部署两个pod,他们分别是canary-v1和canary-v2。 随后进行service的部署: apiVersion: v1 kind: Service metadata:name: canary-svc34namespace: default spec:selector:apply: canaryports:- port: 80protocol: TCPtargetPort: 80进行…...
Windows 11 安装配置 Git 教程
目录 Git Windows 11 环境安装配置 Git Git Git是一个开源的分布式版本控制系统,由Linus Torvalds创建,用于有效、高速地处理从小到大的项目版本管理。Git是目前世界上最流行的版本控制系统,广泛应用于软件开发中。 以下是Git的一些关键特…...
Go基础学习11-测试工具gomock和monkey的使用
文章目录 基础回顾MockMock是什么安装gomockMock使用1. 创建user.go源文件2. 使用mockgen生成对应的Mock文件3. 使用mockgen命令生成后在对应包mock下可以查看生成的mock文件4. 编写测试代码5. 运行代码并查看输出 GomonkeyGomonkey优势安装使用对函数进行monkey对结构体中方法…...
PHP基础教程
PHP基础教程 1. PHP简介 PHP是一种广泛使用的开源服务器端脚本语言,它特别适用于网页开发,并可嵌入到HTML中使用。 2. PHP环境搭建 Windows: 可以使用XAMPP或WAMP。Mac: 可以使用MAMP。Linux: 可以使用XAMPP或LAMP。 3. 第一个PHP程序 创建一个名为…...
Python或R时偏移算法实现
🎯要点 计算单变量或多变量时序距离,使用欧几里得、曼哈顿等函数量化不同时序差异。量化生成时序之间接近度相似性矩阵。使用高尔距离和堪培拉距离等相似度测量。实现最小方差匹配算法,绘制步进模式的图形表示。其他语言包算法实现。 &…...
华为云LTS日志上报至观测云最佳实践
华为云LTS简介 华为云云日志服务(Log Tank Service,简称 LTS),用于收集来自主机和云服务的日志数据,通过海量日志数据的分析与处理,可以将云服务和应用程序的可用性和性能最大化,为您提供实时、…...
Python--加载Hugging Face模型文件异常处理
尝试加载 Hugging Face 模型的配置文件时,无法从 https://huggingface.co 获取所需的 config.json 文件。这个错误通常是由于网络连接问题、访问受限或路径配置错误导致的。让我们一步步分析并解决这个问题。 可能原因及解决方案: 网络连接问题…...
补码加/减运算的具体示例
补码加法运算示例 示例:计算两个十进制数的和,35 18,假设使用8位二进制表示。 1、求原码: 35的原码:00100011 18的原码:00010010 2、求补码(对于正数,补码与原码相同࿰…...
macOS编译和运行prometheus2.54
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文详述了在macOS(M2芯片)上编译和运行prometheus2.54版本的过程,以及安装node_exporter和grafana并使用prometheus指标进行展示 本地…...
flume系列之:flume jmx页面导出flume、java进程等全部指标
flume系列之:flume jmx页面导出flume、java进程等全部指标 一、需求背景二、完整的jmx指标信息三、修改jmx指标导出规则四、启动jmx导出程序一、需求背景 目前jmx页面指标只导出了flume相关的指标,现在需要导出java相关的指标二、完整的jmx指标信息 主要有flume指标java进程指…...
(17)MATLAB使用伽马(gamma)分布生成Nakagami-m分布的方法1
文章目录 前言一、使用伽马分布生成Nakagami分布随机变量的方法一二、MATLAB仿真代码后续 前言 MATLAB在R2013a版本中引入Nakagami分布对象,可以用来生成Nakagami随机变量。但是在更早的MATLAB版本中,并没有可以直接生成 Nakagami分布的随机变量的内置的…...
NFT 是什么?
NFT 是什么? NFT,全称Non-Fungible Token,即“非同质化代币”,是一种基于区块链技术的独特数字资产。NFT的核心特性在于其唯一性、不可分割性和不可替代性,这使其与传统的加密货币(如比特币、以太坊等)形成了鲜明的对比。比特币等加密货币是同质化的,每个单位之间可以…...
mysql的学习
垂直连接union join是水平连接,UNION 是垂直连接,它是把两张表的结果集按列堆叠,行数增加了,但列数保持不变。 UNION 垂直连接的作用 在 MySQL 中,UNION 可以将两个具有相同列数且列数据类型兼容的查询结果合并在一…...
微服务之间的相互调用的几种常见实现方式对比
目录 微服务之间的相互调用的几种实现方式 一、HTTP HTTP/RESTful API调用工作原理 二、RPC 设计理念与实现方式 协议与传输层 RPC远程调用工作原理 应用场景与性能考量 特点 三、Feign 设计理念与实现方式 协议与传输层 Feign调用的基本流程 Feign调用的工作原理…...
FPGA时序分析和约束学习笔记-(1、FPGA基本原理)
FPGA时序分析和约束学习笔记-(1、FPGA基本原理) Field现场Programmable可编程Gate门Array阵列 1、FPGA基本资源组成 可编程逻辑功能块(logic elements ,缩写LE) 片内互联线(interconnect,缩写…...
华为仓颉语言入门(9):for-in表达式
for-in 表达式用于遍历序列,它会依次访问序列中的每个元素,直到遍历完成。它常用于处理列表、数组或其他集合类型,能够有效简化代码,减少重复劳动。其基本语法如下: for (循环变量 in 序列) {循环体 }在 for-in 表达式中,每次循环都会检查是否遍历了序列中的所有元素。如…...
Vue3中使用axios
Promise介绍 同步代码与异步代码 安装并引入axios npm install axios 此时package.json里面就多了axios依赖 引入axios 获取数据 Axios GET参数构成:axios.get(url,{config{},…{}…}) url: 字符串:目标服务器的地址,如 https://api.examp…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...
关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...
