我有一个显示的表单,当我单击提交按钮时,它会将值记录到控制台。
如何保留设置,以便我可以在应用程序的其他位置访问它们,当我返回到表单屏幕时,表格是预先填充的?
我的表单设置如下
class ChimeScreen < FormotionScreen
title "Chime"
def on_submit(_form)
data = _form.render
# settings.enable = data[:enable]
# settings.alarm_time = data[:alarm_time]
PM.logger.debug data[:alarm_time]
open BrowseScreen
end
def table_data
{
...
}
end
答案 0 :(得分:1)
Formotion通过在表单上设置persist_as
值来允许持久数据。
请参阅此处的示例:https://github.com/clayallsopp/formotion/tree/master/examples/Persistence
然后,您可以通过查看
将此表单数据检索为哈希App::Persistence["FORMOTION_#{your_symbol_persisting_as_here}"]
答案 1 :(得分:0)
好吧,我认为我期待在那里设置一些神奇的东西,实际上它只是直接的价值设定。
def on_submit(_form)
data = _form.render
@defaults = NSUserDefaults.standardUserDefaults
unless data.nil?
@defaults["alarm_time"] = data[:alarm_time]
@defaults["alarm_enabled"] = data[:alarm_enabled]
end
open BrowseScreen
end
然后设置每个表单字段的值...
def table_data
@defaults = NSUserDefaults.standardUserDefaults
{
sections: [{
title: "Set Daily Reminder",
rows: [{
title: "Enable",
key: :alarm_enabled,
type: :switch,
value: @defaults["alarm_enabled"]
},
...等