我想知道是否可以在闪亮的 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))
```
我得到的是这个降价:图1
参见 Hallo:1,显示什么,渲染文本从 input$Cluster 获取反应值。是否有可能以某种方式隐藏这个数字输入,它看起来像这样:图2
我尝试过不同设置的 shinyjs,但这并不好。
这里至少有两个选项:
1. 使用纯 CSS
<style>
#Cluster {
display :none;
}
</style>
这样,您将必须删除numericInput
的标签。
2. 使用 jQuery 选择包含标签和输入字段的父div
<script>
$(document).ready(function() {
$('#Cluster').parent('div').css('display', 'none');
});
</script>
在这里,我们只是隐藏整个容器。
将其中任何一个放在 YAML 标头的正下方。