我正在尝试找到如何将文件存储在 mobx-state-tree 模型中的解决方案。但是 mobx-state-tree 没有类似types.file
. 有谁知道如何处理这种问题?或者我必须找到另一个解决方案?
问问题
413 次
2 回答
2
如果有人仍然想知道如何处理输入type="file"
数据,我最终volatile
在我的表单模型上使用:
const EditForm = types
.model({ /*...*/ })
.volatile(() => ({
pictureFile: null
}))
.actions(self => ({
setPicture(file) {
self.pictureFile = file;
},
save: flow(function*() {
let formData = new FormData();
formData.append('picture', self.picture);
// ...
})
}))
在文件输入的更改处理程序中:
onFileInputChange(e) {
editFormStore.setPicture(e.target.files[0])
}
于 2019-04-28T13:02:45.133 回答
1
我不确定这是否会回答您的问题,但我认为您正在尝试使用 MST 做的事情超出了它应该做的事情。通常,MST 用于存储您的应用程序的状态,如果我正确理解了您的问题,则文件的实际内容不应成为应用程序状态的一部分。
我通常处理文件的做法是制作存储文件信息(名称、大小、分机、路径等)的模型,然后在您实际需要使用文件时检索文件。
于 2018-10-24T09:48:37.263 回答