在闪亮的RMarkdown中隐藏元素

时间:2017-11-06 15:59:54

标签: shiny r-markdown show-hide reactive

我想知道是否可以隐藏用户闪亮的rmarkdown中的元素并仍然获得反应值。

---
title: "My Title"
author: "My Name"
date: "Today"
output:
  rmdformats::html_clean:
  highlight: kate
runtime: shiny
---

```{r knitr_init, echo=FALSE, cache=FALSE}
library(knitr)
library(rmdformats)

## Global options
options(max.print="75")
opts_chunk$set(echo=FALSE,
               cache=TRUE,
               prompt=FALSE,
               tidy=TRUE,
               comment=NA,
               message=FALSE,
               warning=FALSE)
opts_knit$set(width=75)
```

```{r setup, include=FALSE}

library(tidyverse)
library(shinyjs)
```

```{r name, echo=FALSE, cache=FALSE}

inputPanel(   
  selectizeInput(inputId = "Name", label = "Choose Name", choices=c("Rachel","Mike"), selected="Mike"),
   numericInput(inputId = "Cluster", label = "Choose Cluster", min = 1, max=10, value = 1 ,step = 1)

)

renderText(paste("Hallo:",input$Cluster))      
```

我得到的是这个标记:Picture 1

参见Hallo:1,显示,renderText从输入$ Cluster获取无效值。有可能以某种方式隐藏此numericInput,它看起来像这样:Picture 2

我尝试过不同设置的shinejs,但这并不好。

1 个答案:

答案 0 :(得分:0)

这里至少有两个选项:

<强> 1。使用纯CSS

<style>
#Cluster {
  display :none;
}
</style>

这样您就必须删除numericInput

的标签

<强> 2。使用jQuery选择包含标签和输入字段的父div

<script>
$(document).ready(function() {
  $('#Cluster').parent('div').css('display', 'none');
});
</script>

这里我们只是隐藏整个容器。

将其中任何一个放在YAML标题下面。