Appearance
Cột appearance trong rtSurvey cho phép bạn tùy chỉnh cách trình bày trực quan và hành vi của các câu hỏi trong khảo sát. Tính năng này nâng cao trải nghiệm người dùng và có thể cải thiện đáng kể hiệu quả thu thập dữ liệu. rtSurvey hỗ trợ các thuộc tính appearance tiêu chuẩn của XLSForm và mở rộng chúng với các tùy chọn bổ sung.
Các thuộc tính Appearance tiêu chuẩn của XLSForm
rtSurvey hỗ trợ các thuộc tính appearance tiêu chuẩn sau của XLSForm:
| Thuộc tính Appearance | Loại câu hỏi | Mô tả |
|---|---|---|
| multiline | text | Tạo hộp văn bản nhiều dòng (tốt nhất cho web) |
| minimal | select_one, select_multiple | Hiển thị các lựa chọn trong menu thả xuống |
| quick | select_one | Tự động chuyển sang câu hỏi tiếp theo sau khi chọn (chỉ mobile) |
| no-calendar | date | Không hiển thị lịch (chỉ mobile) |
| month-year | date | Chỉ cho phép chọn tháng và năm |
| year | date | Chỉ cho phép chọn năm |
| horizontal-compact | select_one, select_multiple | Hiển thị lựa chọn theo chiều ngang (chỉ web) |
| horizontal | select_one, select_multiple | Hiển thị lựa chọn theo chiều ngang trong các cột (chỉ web) |
| likert | select_one | Trình bày lựa chọn dưới dạng thang đo Likert |
| compact | select_one, select_multiple | Hiển thị lựa chọn cạnh nhau với khoảng cách tối thiểu |
| quickcompact | select_one | Kết hợp hiển thị thu gọn với tự động chuyển câu hỏi (chỉ mobile) |
| field-list | groups | Hiển thị toàn bộ nhóm trên một màn hình (chỉ mobile) |
| label | select_one, select_multiple | Hiển thị nhãn lựa chọn mà không có nút chọn |
| list-nolabel | select_one, select_multiple | Hiển thị nút chọn mà không có nhãn (dùng với label) |
| table-list | groups | Hiển thị câu hỏi theo định dạng bảng |
| signature | image | Bật chụp chữ ký (chỉ mobile) |
| draw | image | Cho phép vẽ tay (chỉ mobile) |
| map, quick map | select_one, select_one_from_file | Bật chọn từ các đặc điểm trên bản đồ |
Thực hành tốt khi sử dụng Appearance
- Nhất quán: Sử dụng các thuộc tính appearance nhất quán trong toàn bộ khảo sát để có giao diện đồng bộ.
- Mobile và Web: Xem xét cách appearance hiển thị trên các thiết bị và nền tảng khác nhau.
- Hiệu suất: Thận trọng với các appearance có thể làm chậm tải biểu mẫu (ví dụ:
table-listcho các nhóm lớn). - Trải nghiệm người dùng: Chọn appearance giúp nhập liệu dễ dàng và trực quan hơn cho người trả lời.
- Kiểm thử: Luôn kiểm tra biểu mẫu trên thiết bị đích để đảm bảo appearance hoạt động đúng mong đợi.
Kỹ thuật nâng cao
Kết hợp Appearance
Một số thuộc tính appearance có thể kết hợp để tạo bố cục phức tạp hơn:
| type | name | label | appearance |
|------|------|-------|------------|
| select_one options | choice | Chọn một: | minimal compact |
Appearance động
rtSurvey cho phép thay đổi appearance động dựa trên logic biểu mẫu:
| type | name | label | appearance | relevant |
|------|------|-------|------------|----------|
| text | time | Nhập thời gian: | inline-[%H:%M] | ${show_time} = 'yes' |
Lưu ý cho Ứng dụng di động
- Một số appearance (ví dụ:
quick,signature) chỉ dành riêng cho thiết bị di động. - Kiểm tra kỹ trên cả Android và iOS để đảm bảo hành vi nhất quán.
Các thuộc tính Appearance mở rộng của rtSurvey
Ngoài các appearance XLSForm tiêu chuẩn, rtSurvey hỗ trợ các tùy chọn riêng cho nền tảng sau:
Kiểm soát hiển thị và dữ liệu
| Thuộc tính Appearance | Loại câu hỏi | Mô tả |
|---|---|---|
invisible | bất kỳ | Ẩn trường khỏi hiển thị trong khi vẫn thu thập hoặc tính toán giá trị. Khác với loại hidden — trường vẫn tham gia vào logic. |
displaytitle | bất kỳ | Buộc hiển thị nhãn/tiêu đề của trường ngay cả khi nó thường bị ẩn. |
autopull | select_one, select_multiple | Tự động lấy dữ liệu bên ngoài để điền lựa chọn khi biểu mẫu tải hoặc trường kích hoạt thay đổi. |
floating_hint | text, integer, decimal | Hiển thị gợi ý dưới dạng nhãn nổi phía trên trường nhập thay vì phía dưới. |
calculate-button | calculate | Thêm nút hiển thị kích hoạt tính lại trường theo yêu cầu, thay vì tính tự động. |
Bố cục
| Thuộc tính Appearance | Loại câu hỏi | Mô tả |
|---|---|---|
1screen | group | Buộc hiển thị toàn bộ nhóm trên một màn hình bất kể kích thước nhóm. |
columns(n) | select_one, select_multiple | Hiển thị lựa chọn theo n cột. Ví dụ: columns(3) hiển thị ba cột nút radio. |
gridformat<row=R col=C colspan=S align=center> | bất kỳ | Định vị trường trong bố cục CSS grid tại hàng R, cột C, kéo dài S cột. Dùng với advanced-extension/grid-layout. |
ignore-simplify | bất kỳ | Hướng dẫn renderer biểu mẫu bỏ qua đơn giản hóa hoặc thu gọn tự động bố cục trường này. |
Widget
| Thuộc tính Appearance | Loại câu hỏi | Mô tả |
|---|---|---|
likert | select_one | Trình bày lựa chọn dưới dạng hàng thang Likert (đã có trong bảng tiêu chuẩn ở trên; được xác nhận hỗ trợ). |
distress | select_one | Hiển thị lựa chọn dưới dạng widget trực quan Thang đo tâm lý Kessler (K10) với biểu tượng cảm xúc. |
Tích hợp API
| Thuộc tính Appearance | Loại câu hỏi | Mô tả |
|---|---|---|
callapi | text, integer, decimal, select_one | Bật tích hợp gọi API cho trường này. Cột calculation phải chứa biểu thức callapi(). Xem Call API. |
callapi-verify(params) | text, integer, decimal | Kích hoạt cuộc gọi API xác minh với tham số tĩnh. Biểu mẫu chặn tiến độ cho đến khi API xác nhận giá trị. |
callapi-verify(dynamicParams) | text, integer, decimal | Giống callapi-verify nhưng với tham số lấy từ giá trị trường khác trong thời gian thực. |
Định dạng ngày/giờ inline
Với các trường date, time, và datetime, bạn có thể chỉ định định dạng hiển thị tùy chỉnh bằng chuỗi định dạng gắn vào appearance:
inline-[%d/%m/%Y]
inline-1line-[%d/%m/%Y %H:%M]
Các mã định dạng giống với format-date() và format-date-time(). Xem Hàm — Hàm ngày giờ.
Ví dụ:
| type | name | label | appearance |
|---|---|---|---|
| datetime | event_time | Ngày và giờ sự kiện | inline-[%d/%m/%Y %I:%M %p] |
| date | birth_date | Ngày sinh | inline-[%d/%m/%Y] |
Hạn chế đã biết
- Các appearance phức tạp có thể không hiển thị giống hệt nhau trên tất cả các nền tảng.
- Một số appearance nâng cao của rtSurvey có thể không được hỗ trợ ở chế độ ngoại tuyến.
Khắc phục sự cố Appearance
- Appearance không được áp dụng: Kiểm tra lỗi đánh máy trong cột appearance.
- Hiển thị không nhất quán: Xác minh tính tương thích với loại câu hỏi và nền tảng.
- Vấn đề hiệu suất: Cân nhắc đơn giản hóa các appearance phức tạp, đặc biệt với khảo sát lớn.