renderUI()의 반응성 문제 옵션 2 "가 작동합니다. "# Option 1"이 활성화되면 임의의 문자열을 입력하고 버튼을 누르십시오. 처음에는 텍스트 상자의 값을 "abc"로 바꿉니다. 그러나 다음 번에는 그렇지 않습니다.반짝 - 나는 R.에서</p> 나는이 작동하지 않는 이유 "# 옵션 1"server.R에서 이해하려고 노력하지만, 주석하고 <p>"#을 반짝 패키지 어려움이
val()은 이미 input $ change에 의존하므로 버튼을 누를 때마다 다시 실행해야하며 "# Option 2"는 isolate()에 래핑되므로 추가되지 않습니다. 어떤 반응성이든.
"# Option 1"을 사용하면 실제로 값이 "abc"로 부분적으로 변경됩니다. Google 크롬의 inspect 요소가 열리면 "# Option 2"는 버튼을 누를 때마다 값을 변경하고 "# Option 1"은 값을 "abc"로 변경하지만 화면이 업데이트 될 때만 업데이트됩니다 처음 누르십시오.
require(shiny)
shinyServer(function(input, output) {
val <- reactive({
if(input$change>0) {
# Option 1
'abc'
# # Option 2
# isolate({
# paste('abc',input$txt,"")
# })
} else {
''
}
})
output$textbox <- renderUI({
textInput("txt","Text",val())
})
})
ui.R 어딘가에 숨겨져 버그가있을 수 있습니다처럼이 보입니까
require(shiny)
require(shinyIncubator)
shinyUI(pageWithSidebar(
headerPanel('Test'),
sidebarPanel(
uiOutput("textbox"),
actionButton("change", "Change")
),
mainPanel(
)
))
감사합니다. 텍스트 입력 값 끝에 공백을 추가하고 입력 값 끝에 공백이 있으면 공백을 제거하여 문제를 해결했습니다. 따라서 새 값은 항상 이전 값과 다를 수 있습니다. 어쨌든 모든 들어오는 문자열을 다듬습니다. – user1603038