R Shiny CRUD应用中单选按钮updateRadioButtons报错求助
嘿,这个报错我太熟悉了——你碰到的核心问题是**updateRadioButtons用来指定选中项的参数不是value,而是selected**!Shiny里不同输入控件的更新函数参数有细微差异,比如文本输入用value,但单选按钮这类选择型控件,更新选中状态时要用selected,这是很容易踩的小坑。
修正步骤
你只需要把UpdateInputs函数里的那行错误代码改一下就行:
原来的错误代码:
updateRadioButtons(session, "Question1",value = unname(data["Question1"]))
改成这样:
updateRadioButtons(session, "Question1", selected = unname(data["Question1"]))
完整修正后的UpdateInputs函数
直接替换你原来的函数即可:
UpdateInputs <- function(data, session) { updateTextInput(session, "id", value = unname(rownames(data))) updateTextInput(session, "name", value = unname(data["name"])) updateCheckboxInput(session, "used_shiny", value = as.logical(data["used_shiny"])) # 这里修改了参数为selected updateRadioButtons(session, "Question1", selected = unname(data["Question1"])) updateSliderInput(session, "r_num_years", value = as.integer(data["r_num_years"])) }
额外小提示
为了避免后续其他问题,建议你检查一下:
data["Question1"]返回的值必须是你定义的单选选项("Y"/"N"/"NA")中的一个,否则单选按钮可能不会正确选中- 可以用
str(data["Question1"])查看这个值的类型,确保是字符型,和你的选项完全匹配
内容的提问来源于stack exchange,提问作者Vikram Karthic
相关产品推荐
相关产品推荐

