У меня есть flexdashboard, и есть кнопка действия, которая делает это:
actionButton(inputId="submit",
label = "Submit answers",
class="btn btn-success",
onClick="location.href='#section-your-results';")
затем наблюдатель, который делает это:
observeEvent(input$submit,{
some calculation
})
Проблема заключается в том, что часть onClick выполняется до того, как будет запущен наблюдатель. Так что расчет не относится к разделу, к которому я прыгаю.
Что я хочу сделать, это:
actionButton(inputId="submit",
label = "Submit answers",
class="btn btn-success")
, а затем есть наблюдатель, который делает это:
observeEvent(input$submit,{
some calculation
useShinyjs()
runjs("location.href='#section-your-results';")
}))
Но по какой-то причине команда runjs
не выполняется (я также пытался заменить location.href
на alert
для подтверждения. Любая идея о том, что идет не так? Я видел этот ответ и попробовал этот подход, но не повезло.
Вот (для меня) воспроизводимый пример - я ожидаю всплывающее окно с предупреждением, когда я нажимаю кнопку отправить, но это не для меня
---
title: "reprex shinyjs rmd"
output:
flexdashboard::flex_dashboard:
orientation: rows
vertical_layout: scroll
runtime: shiny
---
```{r setup, include=FALSE}
library(flexdashboard)
library(shinyjs)
useShinyjs(rmd = TRUE)
```
Column {data-width=650}
-----------------------------------------------------------------------
### Chart A
```{r}
onclick("submit",runjs('alert("Hello! I am an alert box!!");'))
```
### Chart B
```{r}
actionButton(inputId="submit",
label = "Submit answers",
class="btn btn-success")
```