由于某些原因,在此特定示例中尝试向我的数据表对象添加formatStyle会导致整个应用无法正常工作。没有错误消息,只是所有输出均不显示任何内容。我唯一看到的就是按钮和用户输入。
我尝试了两种不同的方法来完成我想要的。两种方法都不会产生错误消息,并且输出白色。
我使用一个函数在应用程序内创建数据表。
create_platform_table <- function(count_platform, row_name) {
background <- "value == 'No Platform' ? '#5EDD6B' : value != 'else' ? '#FFBF33' : ''"
class(background) <- "JS_EVAL"
my_vals <- as.character(unique(count_platform()$PLATFORM))
my_colors <- ifelse(my_vals == 'No platform', 'red', 'blue')
data <- count_platform[,c('PLATFORM', 'Population')]
dat <- datatable(data, selection = list(mode = 'single', target = 'cell'),
options = list(
rowCallback = JS("function(r,d) {$(r).attr('height', '15px')}")),
callback = JS(gsub("\n", "", paste0("table.on('click.dt', 'td', function() {
var row_=table.cell(this).index().row;
var col=table.cell(this).index().column;
var rnd= Math.random();
var data = [row_, col, rnd];
Shiny.onInputChange(", row_name, ",data );
});"))) ) %>%
formatStyle('PLATFORM', target = 'row',
backgroundColor = styleEqual(my_vals, my_colors))
return(dat)
}
上面的代码没有%>%formatStyle部分,运行正常。
这让我感到困惑,因为我在另一个数据表上使用了formatStyle就好了。最奇怪的是,在这里尝试使用formatStyle会停止其他与我要生成的数据表输出无关的输出。
我在做什么错?还是这是一个奇怪的错误?