• 1000 *
Ниже представлена упрощенная версия того, что у меня уже есть, я использовал Shiny JS, но функции show () и hide () ничего не делают в моем приложении. Что мне нужно сделать, чтобы это заработало? Если это невозможно с Shiny JS, как еще я могу показать / скрыть элементы html в блестящем приложении? Заранее спасибо.
app.R
server <- function(input, output) {
library(shinyjs)
useShinyjs(html = TRUE)
data <- reactive({
return("abcde")
})
observe({
if ( data() == "abcde" ) {
hide("visibility-area")
} else {
show("visibility-area")
}
})
output$some-output <- renderPrint({
cat(data())
})
}
shinyApp(ui = htmlTemplate("www/index.html"), server)
www/index.html
<!DOCTYPE html>
<html>
<head>
<script src="shinyjs/inject.js"></script>
<script src="shared/jquery.js" type="text/javascript"></script>
<script src="shared/shiny.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="shared/shiny.css"/>
<title>test</title>
</head>
<body>
<div id="visibility-area">
<p><span id="some-output" class="shiny-text-output"></span></p>
</div>
</body>
</html>
global.R
shiny::addResourcePath("shinyjs", system.file("srcjs", package = "shinyjs"))