首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用shinyjs和flexdashbord动态显示/隐藏输入

使用shinyjs和flexdashbord动态显示/隐藏输入
EN

Stack Overflow用户
提问于 2017-01-04 15:42:04
回答 1查看 1.6K关注 0票数 11

当单击选项卡时,尝试更新flexdashboard中的Sidebar。不能让它起作用。

代码语言:javascript
复制
---
title: "Test Sidebar"
output: 
  flexdashboard::flex_dashboard:
     orientation: rows
 runtime: shiny
---

```{r setup}

图书馆(柔性仪表板)

图书馆(闪亮)

图书馆(Shinyjs)

useShinyjs(rmd = TRUE)

代码语言:javascript
复制
Sidebar {.sidebar data-width=250}
=======================================================================

```{r}

div(id = "one",selectInput("input1",label= "Show a“,choices=c("a","b",”c“)

div(id =“2”,selectInput("input2",label =“仅显示在Tab 1上”,choices=c("d","e",“f”)

代码语言:javascript
复制
<!-- Update the sidebar based on the tab chosen. Generated HTML code shown for tabs-->

Tab 1 <!-- <a href="#section-tab-1" aria-expanded="true" data-toggle="tab"> -->
=======================================================================
```{r}

useShinyjs(rmd = TRUE)

shinyjs::onclick(“#节-tab-2”,shinyjs::隐藏(id=“2”))

shinyjs::onclick(“#节-tab-1”,shinyjs::show(id =“2”))

代码语言:javascript
复制
Tab 2 <!-- <a href="#section-tab-2" aria-expanded="true" data-toggle="tab"> -->
=======================================================================
```{r}

useShinyjs(rmd = TRUE)

actionButton("hideSlider",“隐藏输入2”)

observeEvent(输入$hideSlider,{

代码语言:javascript
复制
 shinyjs::toggle(id = "two", anim = TRUE)
代码语言:javascript
复制
})
代码语言:javascript
复制

actionButton()和observerEvent()可以正常工作。如有任何建议请见谅。

EN

回答 1

Stack Overflow用户

发布于 2017-01-06 22:20:39

几点意见:

  • 您只需要调用useShinyjs()一次,不需要在每个代码块中调用它。
  • onclick()接受元素的ID。不是选择器- ID。这意味着您调用onclick("element")而不是onclick("#element")
  • 如果您查看由仪表板生成的HTML,您将发现没有id“节-tab-2”的元素,因此您尝试的操作将无法工作。
  • 在普通的闪亮应用程序中,当我使用tabsetPanel()时,您要做的事情就是使用所选选项卡的值。只要选择了一个选项卡,就会有一个输入值,给出所选内容的值。我还没有广泛地使用柔性仪表板,所以我不确定是否有类似的方法来获取柔性仪表板中所选选项卡的值。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41467747

复制
相关文章

相似问题

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