Trong ứng dụng của mình, tôi sử dụng OptionSelector để chọn từ danh sách các trạm xe đạp. Tôi cũng có một thành phần bản đồ với dấu vị trí cho mỗi trạm.
Khi tôi chạm vào dấu vị trí, nó cũng thay đổi OptionSelector thành chỉ mục của trạm tương ứng, vì đây là UX tốt.
Điều không tốt của UX là cách OptionSelector phản ứng với sự thay đổi chỉ số này, nó đang tự hoạt hình như thể nó bị ngón tay của người dùng lướt qua. Nói cách khác, rất lâu sau khi người dùng gõ vào điểm đánh dấu bản đồ và nhận được tất cả thông tin họ cần, OptionSelector vẫn "quay" đến chỉ mục của trạm.
Dưới đây là video minh họa hành vi này: https://www.youtube.com/watch?v=jXKWlAmNYsw
Tôi muốn cho OptionSelector này chỉ cần thay đổi chỉ mục của nó ngay lập tức mà không có hình ảnh động. Có cách nào để làm việc này không?
Đây là cách tôi hiện đang làm. Tôi rất vui khi được sửa chữa nếu đây là cách đi sai về vấn đề này. Tôi sử dụng WorkerScript (một luồng QML, nhiều hơn hoặc ít hơn) để thực hiện các cuộc gọi API. Khi WorkerScript này trả về, nó sẽ di chuyển OptionSelector như vậy:
WorkerScript {
id: queryStationsWorker
source: "../js/getstations.js"
onMessage: {
[...]
// Move the OptionSelector to the corresponding station's index.
stationSelector.selectedIndex = getLastStationIndex(lastStation.contents.stationName, stationsModel)
/*
* For the sake of clarity:
*
* getLastStationIndex() is a function which just returns an integer.
* lastStation is a U1DB database used for state saving.
* stationsModel is a model containing all of the stations.
*/
}
}
Bất kỳ trợ giúp hoặc cái nhìn sâu sắc đánh giá cao - chúc mừng!