5

この問題についてはすでに多くの調査を行っていますが、これまでのところ、bsModal() の代わりに光沢のある showModal() を使用した場合の解決策は提供されていません。

モーダル ダイアログで rhandsontable を2 回目に表示すると、表示にバグがあります。つまり、すべての列が表示されません。

以下に例を示します。

library(shiny)
library(rhandsontable)

u <- shinyUI(fluidPage(

  # Will show first pop-up
  actionButton("go", "Show Table")

))

s <- shinyServer(function(input,output,session){

  df <- data.frame(Wnr = 1:10)  

  observeEvent(input$go, {

    output$table <- renderRHandsontable({

      rhandsontable(df, width = "100%", height = 200)

    })

    showModal(modalDialog(

      title = "Table",
      rHandsontableOutput("table"),
      footer = tagList(actionButton("go2", "Continue"),
                       modalButton("Stop"))

    ))
  })

  observeEvent(input$go2, {

    removeModal()

    # Recalculate the table, adding new columns
    output$table <- renderRHandsontable({

      df$AC <- 1
      df$BC <- 2

      rhandsontable(df, width = "100%", height = 200)

    })

    showModal(modalDialog(

      title = "Table",
      rHandsontableOutput("table"),
      footer = tagList(actionButton("go2", "Continue"),
                       modalButton("Stop"))


    ))
  })


})

shinyApp(u,s)

この表示バグを修正する方法 (潜在的にJavaScriptを使用) はありますか? $("myModal").on({"shown.bs.modal", ...})光沢のあるモーダルは、shinyBS パッケージのブートストラップ モーダルとは構造が異なるため、このトリックは機能しないようです。ShinyBS パッケージを使用しない理由は、カスタマイズしたアクション ボタンをモーダルのフッターに追加できないためです。ですから、shinyBS で解決する方法を見つけていただければ、私もうれしいです。ただし、理想的には、modalDialog() を使用したソリューションをお勧めします。

どんな助けにも感謝します!さらに情報が必要な場合はお知らせください

4

0 に答える 0