1
假設我們有一組8個複選框(8個字母)和一個打印所有選中複選框標籤的動作按鈕。我想要做什麼,根據條件啓用和禁用操作按鈕的狀態。條件是如果所選複選框的數量在2到5之間,那麼應該啓用該按鈕,否則禁用該按鈕。要更改按鈕的狀態,我想使用shinyjs
包中的函數enable
,disable
或toggleState
函數。當按鈕被啓用時,我將能夠觸發一個事件來打印所選項目的數量。 這裏是我試過至今:如何根據R Markdown文檔中閃亮元素的條件禁用按鈕?
---
title: "Disable Button"
runtime: shiny
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(shinyjs)
library(shiny)
```
```{r, echo=FALSE}
checkboxGroupInput("param_group", label = h3("Letters"),
choices = LETTERS[1:8])
actionButton('action', "Print")
result<-reactive({
length(input$param_group)
})
observe({
if(result()>1 & result()<=5)
enable("action")
else
disable("action")
})
txt<-eventReactive(input$action,{
cat("Number of letters selected: ",length(input$param_group))
})
renderPrint({
txt()
})
```
這就是我一直在尋找。謝謝! – sanyi14ka
不幸的是,'rmd = TRUE'是必需的,不能自動完成,因爲我無法找到一個可靠的方法來知道它是從閃亮的應用程序還是從Rmd調用,因爲它們之間有一條非常細的線。我問rstudio這件事,他們也找不到合適的解決方案,但那是2年前。如果你有一個想法如何做到這一點我打開的建議:) –