Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 操作按钮需要重置(或替代)_R_Shiny_Reset_Action Button - Fatal编程技术网

R 操作按钮需要重置(或替代)

R 操作按钮需要重置(或替代),r,shiny,reset,action-button,R,Shiny,Reset,Action Button,我在shiny中使用多个操作按钮时遇到一些问题。我已经构建了一个文本区域,可以在其中插入文本。对该文本进行操作,结果为三个字符串。这三个字符串随后成为三个ActionButton的标签。单击其中一个按钮时,它应操作输入文本 当我单击actionbutton时,文本被正确地操作,但操作被无限重复。这是因为无法重置操作按钮。我发现了多个处理这个问题的网页,我尝试了多种解决方案和变通方法,但似乎都不起作用。我已提交以下代码: 服务器.R 问题在于,在renderUI中,您在observeEvent中使

我在shiny中使用多个操作按钮时遇到一些问题。我已经构建了一个文本区域,可以在其中插入文本。对该文本进行操作,结果为三个字符串。这三个字符串随后成为三个ActionButton的标签。单击其中一个按钮时,它应操作输入文本

当我单击actionbutton时,文本被正确地操作,但操作被无限重复。这是因为无法重置操作按钮。我发现了多个处理这个问题的网页,我尝试了多种解决方案和变通方法,但似乎都不起作用。我已提交以下代码:

服务器.R


问题在于,在
renderUI
中,您在
observeEvent
中使用的
依赖于
通过
new\u word()
函数和第二个参数中的
input$text\u in
。因此,每次文本更改时,都会再次调用renderUI,这就是该操作无限期重复的原因

尝试使用“隔离”删除这些依赖项,例如:

observeEvent(input$action1, {output$input_textarea <- renderUI({
tags$textarea(id="text_in", rows=3, cols=40, modify_text_input(isolate(new_word()),isolate(input$text_in),ngram_input,answer[1]))})
})

observeEvent(input$action1,{output$input\u textarea这行得通!我用了10000种不同的方法应用了隔离,但似乎不是这样..谢谢!
library(shiny)
library(stringi)

shinyUI(
  fluidPage(
        titlePanel("Word prediction"),

        sidebarLayout(
              sidebarPanel(
                    uiOutput("input_textarea"),
                    uiOutput("but1"),
                    uiOutput("but2"),
                    uiOutput("but3")

              ),

              mainPanel(
                    textOutput("text1"),
                    textOutput("text2")

              )
        )
  )
)
observeEvent(input$action1, {output$input_textarea <- renderUI({
tags$textarea(id="text_in", rows=3, cols=40, modify_text_input(isolate(new_word()),isolate(input$text_in),ngram_input,answer[1]))})
})