У меня есть блестящее приложение, в котором я хочу, чтобы условная панель появлялась каждый раз, когда пользователь выбирает строку, содержащую определенное слово, но не точное слово, в предыдущем selectInput. Вот что у меня сейчас есть:
library(shiny)
library(tidyverse)
ui <- fluidPage(
sidebarPanel(
selectInput("input1",
"Select a word:",
choices = c("Word1 something",
"Word2 something",
"Word3 something",
"Word4 something",
"Word1 nothing")
)
)
)
server <- function(input, output){}
shinyApp(ui, server)
Если бы я мог использовать простой R-код внутри условной панели, он бы выглядел так:
ui <- fluidPage(
sidebarPanel(
selectInput("input1",
"Select a word:",
choices = c("Word1 something",
"Word2 something",
"Word3 something",
"Word4 something",
"Word1 nothing")),
conditionalPanel(
condition = str_detect(input1, "Word1"),
selectInput("input2",
"Select another word:",
choices = c("Word10",
"Word11")))
)
)
server <- function(input, output){}
shinyApp(ui, server)
Однако для conditionalPanel в качестве условия требуется код javascript. Если бы я хотел точное слово, я бы использовал "input.input1 == 'Word1 nothing'"
, но это не то, что я ищу. Кто-нибудь знает, как я могу это сделать?
Заранее спасибо!