首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Reactable表中删除check all/none复选框

从Reactable表中删除check all/none复选框
EN

Stack Overflow用户
提问于 2020-09-20 10:14:46
回答 1查看 139关注 0票数 0

我要从Reactable表格中删除check all/none复选框。在此图像中,我不希望出现橙色带圆圈的复选框。

使用Chrome Inspector,我检查了这个复选框的css并设置了display: none;

这将删除整个复选框列。如何只删除这一个?

R脚本

代码语言:javascript
复制
library(reactable)

reactable(iris,
          onClick = "select",
          selection = "multiple") 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-20 11:58:47

你可以附加一些javascript代码,让它在reactable被渲染时运行:

代码语言:javascript
复制
// Hide  the select all check box
document.querySelector('.rt-select-input[aria-label="Select all rows"]').parentElement.parentElement.style.display = "none";

最终的R-code

代码语言:javascript
复制
library(reactable)
library(htmlwidgets)
e<-reactable(iris,
          onClick = "select",
          selection = "multiple")

javascript <- JS('
document.querySelector(\'.rt-select-input[aria-label="Select all rows"]\').parentElement.parentElement.style.display="none";
')



(p <- prependContent(e,onStaticRenderComplete(javascript)))

改进

为了简化流程并明确指向所需的复选框(因为前面提到的方法在处理同一页面中的两个表时不会成功),我编写了一个函数来动态定位所需的复选框:

代码语言:javascript
复制
hide.select.all <- function(x){
  javascript <- JS(paste0('
  let id = null;
  for (const script of document.querySelectorAll("script[data-for]")) {
    if(script.text.includes("', x$x$tag$attribs$dataKey ,'")) {
      id="#" + script.dataset.for;
      break;
    }
  }
  if(id) document.querySelector(id + \' .rt-select-input[aria-label="Select all rows"]\').parentElement.parentElement.style.display="none";
  ')) 
   prependContent(x,onStaticRenderComplete(javascript))
}

hide.select.all(e)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63974947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档