По умолчанию очистить строку поиска таблицы данных вместо включения выделенного текста - PullRequest
0 голосов
/ 25 мая 2020

Есть ли способ сделать панель поиска таблицы данных пустой вместо того, чтобы по умолчанию 'setosa' внутри нее, сохранив при этом 'setosa' выделенным внутри таблицы? Или, по крайней мере, найдите другой способ выделить или подчеркнуть 'setosa'?

library(DT)
ui <- dashboardPage(
    dashboardHeader(title = "Dynamic sidebar"),
    dashboardSidebar(

    ),
    dashboardBody(
        DT::dataTableOutput("t")
    )
)

server <- function(input, output) {

    output$t <- renderDT(

        datatable(iris, options = list(searchHighlight = TRUE, search = list(search = 'setosa'))) 
    )

}

shinyApp(ui, server)

1 Ответ

2 голосов
/ 25 мая 2020

Хорошо, вы можете сделать что-то вроде этого.

library(DT)
library(shiny)
library(shinydashboard)

ui <- dashboardPage(
    dashboardHeader(title = "Dynamic sidebar"),
    dashboardSidebar(
    ),
    dashboardBody(
        DT::dataTableOutput("t")
    )
)

server <- function(input, output) {

    data <- reactive({
        mydata <- iris
        rownames(mydata) <- gsub("setosa",tags$span(style="color:red", "setosa"),rownames(mydata))
        for(i in 1:ncol(mydata)){
            mydata[,i] <- gsub("setosa",tags$span(style="color:red", "setosa"),mydata[,i])
        }
        mydata
    })

    output$t <- renderDT(
        datatable(data(), options = list(searchHighlight = TRUE, search = list(search = '')), escape = F)  
    )

}

shinyApp(ui, server)
...