可使用 R Shiny 中的 CellEdit 动态选项编辑数据表行

问题描述 投票:0回答:1

这确实是一个普遍问题,所以我没有代表。使用 CellEdit,有人知道如何用包含单列的 R 数据框/向量替换“列表”输入的下拉选项吗?这个link是如何使用sprintf()

——在Javascript中插入R代码来完成此操作的示例。我不确定如何做到这一点,因为我的 JS 技能不太好。

"table.MakeCellsEditable({", " onUpdate: onUpdate,", " inputCss: 'my-input-class',", " confirmationButton: {", " confirmCss: 'my-confirm-class',", " cancelCss: 'my-cancel-class'", " },", " inputTypes: [", " {", " column: 0,", " type: 'list',", " options: [", " {value: 'Keep data', display: 'Keep data'},", " {value: 'Pass', display: 'Pass'},", " {value: 'Delete', display: 'Delete'}", ## PASS THE ABOVE DROPDOWN OPTIONS FROM R INSTEAD OF HARDCODED IN JS " ]", " }", " ]", "});"
我正在参考这个

问题中的代码。

javascript r shiny datatables dt
1个回答
0
投票
假设你的选项在 R 向量中

opts

,你可以这样做:

opts <- c("Keep data", "Pass", "Delete") jsOpts <- paste0( sprintf("{value: '%s', display: '%s'}", opts, opts), collapse = ", " ) js <- c( "table.MakeCellsEditable({", " onUpdate: onUpdate,", " inputCss: 'my-input-class',", " confirmationButton: {", " confirmCss: 'my-confirm-class',", " cancelCss: 'my-cancel-class'", " },", " inputTypes: [", " {", " column: 0,", " type: 'list',", " options: [", jsOpts, " ]", " }", " ]", "});" )
    
© www.soinside.com 2019 - 2024. All rights reserved.