Добавление CSS к элементу после нажатия на actionButton - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь настроить страницу входа с блестящей. Я включил textInput, как этот textInput("login_username", "Username"), и я хочу сделать, чтобы Username не было в базе данных, тогда границы output$login_username станут красными. Итак, как я могу добавить CSS к элементу после события.

Допустим, это мое if предложение:

if(is_validate){ /* action to do */ }
else { output$login_username <- /* action that i'm looking for */ }

1 Ответ

0 голосов
/ 26 октября 2018

Вот небольшой пример того, как добавить цвета с помощью пакета shinyjs, я также добавил уведомление внизу справа с сообщением:

library(shiny)
library(shinyjs)

allowedusers <- c("Pork_Chop","BKenz")
jsCode <- "shinyjs.TextCol = function(params){$('#login_username').css('background', params);}"

# For border color use below
jsCode <- "shinyjs.TextCol = function(params){$('#login_username').css('border-color', params);}"

ui <- fluidPage(
  useShinyjs(),
  extendShinyjs(text = jsCode),
  textInput("login_username", "Username"),
  actionButton("Login","Login")
)

server <- function(input, output,session) {

  observeEvent(input$Login,{
    req(input$login_username!="")

    if(!(input$login_username %in% allowedusers)){
      js$TextCol("red")
      showNotification("user doesnt exists",type="warning")
    }
    else{
      js$TextCol("white")
    }
  })
}

shinyApp(ui = ui, server = server)

enter image description here

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...