我有以下代码可帮助显示或隐藏文本框,但由于某些原因 我想摆脱掉左侧的空白栏(参见图片),不确定该栏表示什么
代码如下:
library(shiny)
library(shinydashboard)
library(shinyjs)
ui <- fluidPage(theme=shinytheme("cosmo"),
# titlePanel("Use an existing theme"),
sidebarLayout(
sidebarPanel(
useShinyjs()
),
mainPanel(
box(id = "myBox",width = '800px',
textInput(inputId = 'inputsLocation', label = 'Inputs Location', value = "~ Downloads/user_inputs.csv",placeholder = "Please provide your name..."),
actionButton('load_inputs', 'Load inputs'),actionButton('save_inputs', 'Save inputs'),
br(),
br(),
textInput("textbox_ui", "Text")
),
actionButton(inputId = "button", label = "show / hide")
)
)
)
server <- function(input, output,session){
## observe the button being pressed
observeEvent(input$button, {
observeEvent(input$load_inputs, {
# Load inputs
uploaded_inputs <- read.csv(input$inputsLocation)
# Update each input
for(i in 1:nrow(uploaded_inputs)){
updateNumericInput(session,
inputId = uploaded_inputs$inputId[i],
value = uploaded_inputs$value[i])
}
})
observeEvent(input$save_inputs, {
# Define inputs to save
inputs_to_save <- c('textbox_ui')
# Declare inputs
inputs <- NULL
# Append all inputs before saving to folder
for(input.i in inputs_to_save){
inputs <- append(inputs, input[[input.i]])
}
# Inputs data.frame
inputs_data_frame <- data.frame(inputId = inputs_to_save, value = inputs)
# Save Inputs
write.csv(inputs_data_frame, file = input$inputsLocation, row.names = FALSE)
})
if(input$button %% 2 == 1){
shinyjs::hide(id = "myBox")
}else{
shinyjs::show(id = "myBox")
}
})
}
shinyApp(ui, server)
我也希望将文本输入框替换为灵活框,就像从下面的代码中获得的那样:
library(shiny)
ui <- fluidPage(
withTags(
div(
textarea(id = "response2",
class = "form-control shiny-bound-input",
style = "width: 300px; height: 34px")
)
)
)
server<-function(input, output, session) {
output$out <- renderText({
input$response2
})
}
shinyApp(ui = ui, server = server)