问题描述
在我们的应用程序中,我们创建的调查需要支持“易读”格式,可以将图像附加到任何问题,与问题文本一起显示。
我看不到直接通过 SurveyJS API 属性执行此操作的方法,即似乎没有任何标准的 questionImage
属性。因此,这看起来需要作为自定义属性来实现。
在此基础上,我需要为所有问题类型添加一个自定义属性,用户可以使用图像填充该属性,就像“图像选择器”问题类型允许您选择图像一样。具体来说,我们想要支持的用例是打开用户本地计算机的文件浏览器,并将所选图像编码为 data:
URI 并存储在此属性中。 (支持其他图像输入方法可能有用,但不是必需的。)
我们有能力为受访者控制此属性的呈现,因此我不关心如何使用此属性,只关心如何将其放入编辑器 UI 中。此外,虽然在编辑界面中看到图像会很好,但在现阶段这也不是必不可少的行为。
从 Google 搜索中,我看到了类似的问题,答案是在相关问题之前在调查中插入 Image
或 HTML
元素,但这不是一个合适的解决方案对于我们的用例。首先,它使调查难以管理(既使用繁琐又在移动/删除问题时容易破坏)。其次,这意味着图像在问题之前呈现,而我们需要将其作为问题元素的一部分呈现(即在问题编号之后,在问题文本之前)。
任何人都可以举一个例子来说明我如何添加一个以上述方式表现的新问题属性?
解决方法
您需要将此属性添加到surveyjs元数据中:
Survey
.Serializer
.addProperty("question",{
name: "image:file",category: "general"
});