Shinyの0.14以降ではダイアログを標準機能で出せるようになりました。普通に検索するとshinyBSパッケージを使用したり、JavaScript(後述)を使用したりする記事が多く出てきますのでご注意ください。
modal-dialogs
コード
showModal(modalDialog(title = "エラー", "入力が正しくありません", easyClose = TRUE, footer = modalButton("OK")))
オプション
- title: ダイアログのタイトル
- size: ダイアログの幅、s/m(標準)/l
- footer: dismissボタンをつけるかどうか
- easyClose: ダイアログの外をクリックすると閉じれるようにするかどうか
参考:古い方法
Javascriptを利用する方法は以下になります。のっぴきならない理由でver0.13以前を使わなくてはならないとかいうケースは従来通りの方法をご利用ください、、、。
ui.R
tags$head(
tags$script(HTML('Shiny.addCustomMessageHandler("jsCode",function(message) {eval(message.value);});'))
)
server.R
session$sendCustomMessage(type='jsCode', list(value = 'alert("エラー");'))