salesforce - Salesforce闪电:treegrid查找取消选择行的ID/数据
问题描述
我正在使用闪电:treegrid 组件。The onrowselection attribute of lightning:treegrid invokes a method on js controller whenever a row is selected/deselected. 我可以使用 getSelectedRows() 方法获取当前选定的行。但是如果我取消选择一行,我将无法在 js 控制器中找到它的 Id 或行数据(已取消选择)。
光环:
<lightning:treeGrid columns="{!v.gridColumns}"
data="{!v.gridData}"
keyField="idRef"
aura:id="productTree"
expandedRows="{! v.gridExpandedRows }"
onrowselection="{! c.getSelectedRows}"
ontoggle = "{!c.handleToggle}"
selectedRows = "{!v.selectedIds}"
isLoading="{! v.isLoading }"
/>
JS:
getSelectedRows: function(cmp, event, helper) {
//get selected rows
var curRows = event.getParam('selectedRows');
//how to get the row that is deselected
}
有人可以帮忙吗?
解决方案
Lightning:treegrid 组件没有标准方法来获取取消选择的行列表。该组件还有许多其他限制,使其实际上毫无用处。
我按照以下步骤获取取消选择的行:
- 创建一个存储与所有选定行关联的 id 的属性。让我们命名它
oldSelectedRows
。 - 然后使用 获取所有当前选定行的列表
cmp.find("aura_id_of_treegrid").getSelectedRows()
。让我们来命名它selectedRows
。 - 找出 oldSelectedRows 和 selectedRows 之间的区别。这会获取您取消选择的项目。
推荐阅读
- javascript - 为什么 Symbol.toPrimitive 在 JS Set 中不起作用?
- amazon-web-services - BOTO3 S3 文件复制阻塞还是非阻塞?
- nuxt.js - 我如何为在 Nuxt2 和 Vue 测试实用程序(VTU)中使用 Vuex 和 Typescript 和 Composition Api 的组件编写测试?
- makefile - Makefile 中的@echo 总是导致错误“***缺少分隔符。停止。”
- postgresql-9.2 - 使用 PostgreSQL 9.2 版本出现登录问题
- django - 如何在 Django/Postgres 中使用 groupby 加入多个列
- java - 如何使用 Spring AOP 在服务中抛出业务异常?
- r - 有没有办法在 tblsummary 函数中使用反应式表达?
- java - 我可以使用 java-diff-utils 比较两个 html 文件并输出应用了样式的 html 吗?
- lumen - 为什么 oauth_access_tokens.expires_at 字段中的流明不起作用?