希望标题非常自我解释。下面是重现问题的简单示例。我想要的是字母(a-z),标记按钮在点击按钮后添加到应用程序的textInput框中。
请注意,以某种方式从字母向量(p1)中提取字母值将无效,因为我的真实应用程序具有几乎无限数量的单词,可以标记按钮。我需要获取传递给按钮标签(value1)的实际值。
现在,我得到了(HTML?)代码。
请注意,我尝试过:
Capture label of actionButton in Shiny app
和
Capture the label of an actionButton once it is clicked
虽然他们帮助我靠近,但他们并没有解决当前的问题。
library(shiny)
shinyUI(fluidPage(
# Application title
titlePanel("Letter Predictor"),
# Sidebar with action button
sidebarLayout(
sidebarPanel(
actionButton("word1", label = textOutput("value1"))
),
# Text entry box
mainPanel(
textInput(inputId = "text", label = h3("Text input"), value = "Enter a number (1-26)"),
hr()
)
)
)
)
shinyServer(function(input, output, session) {
# Letter prediction function to be used in Shiny Application
predictalg <- function(userinput, predictor, predicted){
pred <- predicted[which(predictor == userinput)]
return(pred)
}
# Vectors for making predictions
p1 <- letters
p2 <- seq_along(letters)
# Prediction function applied
value1 <- reactive({
predictalg(userinput = { trimws(input$text) },
predictor = p2,
predicted = p1)
})
output$value1 <- value1
# Register button click and (ideally) pass label (value1) to updateTextInput
observeEvent(input$word1, {
name <- paste(input$text, textOutput("value1"))#PROBLEM WITH value1
updateTextInput(session, "text", value = name)
})
})
我是一个有光泽的新手,我被卡住了。任何帮助将不胜感激!
答案 0 :(得分:0)
Per Michal Majka:
您获得HTML代码,因为这是
name <- paste(input$text, value1() )
是。如果您进行以下更改:
{{ message }}
你(可能)会得到你想要的东西。
括号&#34;()&#34;在value1之后是关键。