rtSurvey 中的 appearance 列允许您自定义调查中问题的视觉呈现和行为。此功能增强了用户体验,可以显著提高数据收集效率。rtSurvey 支持标准的 XLSForm 外观属性,并用额外选项加以扩展。

标准 XLSForm 外观属性

rtSurvey 支持以下标准 XLSForm 外观属性:

外观属性问题类型描述
multilinetext创建多行文本框(最适合网页客户端)
minimalselect_one, select_multiple在下拉菜单中显示选项
quickselect_one选择后自动前进到下一个问题(仅限移动端)
no-calendardate隐藏日历显示(仅限移动端)
month-yeardate只允许选择月份和年份
yeardate只允许选择年份
horizontal-compactselect_one, select_multiple水平显示选项(仅限网页)
horizontalselect_one, select_multiple按列水平显示选项(仅限网页)
likertselect_one以李克特量表呈现选项
compactselect_one, select_multiple以最小填充并排显示选项
quickcompactselect_one将紧凑显示与自动前进结合(仅限移动端)
field-listgroups在一个屏幕上显示整个组(仅限移动端)
labelselect_one, select_multiple显示选项标签但不显示输入框
list-nolabelselect_one, select_multiple显示输入框但不显示标签(与 label 一起使用)
table-listgroups以表格格式显示问题
signatureimage启用签名捕获(仅限移动端)
drawimage允许手绘(仅限移动端)
map, quick mapselect_one, select_one_from_file从地图功能中启用选择

使用外观的最佳实践

  1. 一致性:在整个调查中一致地使用外观属性,保持统一的外观。
  2. 移动端与网页:考虑外观在不同设备和平台上的渲染效果。
  3. 性能:对可能减慢表单加载的外观属性要谨慎(例如大型组的 table-list)。
  4. 用户体验:选择使受访者数据输入更轻松、更直观的外观。
  5. 测试:始终在目标设备上测试表单,确保外观按预期工作。

高级技术

组合外观

某些外观属性可以组合以实现更复杂的布局:

  | type | name | label | appearance |
|------|------|-------|------------|
| select_one options | choice | 选择一项: | minimal compact |
  

动态外观

rtSurvey 允许基于表单逻辑的动态外观变化:

  | type | name | label | appearance | relevant |
|------|------|-------|------------|----------|
| text | time | 输入时间: | inline-[%H:%M] | ${show_time} = 'yes' |
  

移动应用注意事项

  • 某些外观(例如 quicksignature)特定于移动设备。
  • 在 Android 和 iOS 上全面测试以确保一致的行为。

rtSurvey 扩展外观属性

除标准 XLSForm 外观外,rtSurvey 还支持以下平台特有选项:

数据和显示控制

外观属性问题类型描述
invisible任意在视图中隐藏字段,同时仍收集或计算其值。与 hidden 类型不同——字段仍参与逻辑。
displaytitle任意强制显示字段的标签/标题,即使它通常会被隐藏。
autopullselect_one, select_multiple在表单加载或触发字段更改时自动获取外部数据以填充选项。
floating_hinttext, integer, decimal将提示文本显示为输入字段上方的浮动标签,而不是显示在下方。
calculate-buttoncalculate添加一个可见按钮,按需触发字段重新计算,而不是自动计算。

布局

外观属性问题类型描述
1screengroup强制整个组显示在单个屏幕上,无论组的大小。
columns(n)select_one, select_multiplen 列显示选项。例如:columns(3) 显示三列单选按钮。
gridformat<row=R col=C colspan=S align=center>任意将字段定位在 CSS 网格布局中的第 R 行、第 C 列,跨越 S 列。与 advanced-extension/grid-layout 一起使用。
ignore-simplify任意指示表单渲染器跳过此字段布局的自动简化或压缩。

小部件

外观属性问题类型描述
likertselect_one以李克特量表行呈现选项(标准表格中已确认支持)。
distressselect_one将选项渲染为 Kessler 心理困扰量表(K10)带情感图标的可视小部件。

API 集成

外观属性问题类型描述
callapitext, integer, decimal, select_one为此字段启用 API 调用集成。calculation 列应包含 callapi() 表达式。参见 Call API
callapi-verify(params)text, integer, decimal使用静态参数触发 API 验证调用。表单会阻止进度,直到 API 确认该值。
callapi-verify(dynamicParams)text, integer, decimalcallapi-verify 相同,但参数来自运行时的其他字段值。

内联日期/时间格式

对于 datetimedatetime 字段,您可以使用附加到外观的格式字符串指定自定义显示格式:

  inline-[%d/%m/%Y]
inline-1line-[%d/%m/%Y %H:%M]
  

格式标记与 format-date()format-date-time() 相同。参见函数 — 日期和时间函数

示例:

typenamelabelappearance
datetimeevent_time事件日期和时间inline-[%d/%m/%Y %I:%M %p]
datebirth_date出生日期inline-[%d/%m/%Y]

已知限制

  • 复杂的外观在所有平台上的渲染可能不完全相同。
  • 某些高级的 rtSurvey 外观在离线模式下可能不受支持。

外观问题故障排除

  1. 外观未应用:检查外观列中的拼写错误。
  2. 渲染不一致:验证与问题类型和平台的兼容性。
  3. 性能问题:考虑简化复杂的外观,尤其是对于大型调查。
此页面有帮助吗?