【发布时间】:2018-07-10 08:56:05
【问题描述】:
美好的一天。
我正在尝试通过config 助手保留ItemViewModel 的属性。我能够成功保存该属性(生成了具有适当.properties 文件的conf 目录),但是在下次启动时,该属性不会恢复其值,仅保留null。这是演示我的问题的示例代码:
import javafx.beans.property.SimpleStringProperty
import tornadofx.*
data class Foo(val doNotPreserveMe: String, val preserveMe: String)
class FooModel : ItemViewModel<Foo>() {
val doNotPreserveMe = bind { item?.doNotPreserveMe?.toProperty() }
val preserveMe = bind { SimpleStringProperty(item?.preserveMe, "pm", config.string("pm")) }
}
class FooApp : App(FooView::class)
class FooView : View() {
private val model = FooModel()
override val root = form {
fieldset {
field("Do not preserve me") { textfield(model.doNotPreserveMe).required() }
field("Preserve me") { textfield(model.preserveMe).required() }
button("Do something") {
enableWhen(model.valid)
action {
model.commit {
// ...
with(config) {
set("pm" to model.preserveMe.value)
save()
}
}
}
}
}
}
}
关于模型为什么没有恢复价值的任何想法?
【问题讨论】:
-
你能发布一个完整的示例应用程序吗?我怀疑您在读写时访问了不同的
config对象。 -
@EdvinSyse,我已经编辑了我的 OP 以包含演示问题的示例代码