navigateUp method

void navigateUp()

Navigate to previous option

Implementation

void navigateUp() {
  if (_currentOptions.isEmpty) return;

  final currentIndex = _highlightedIndex.value;
  int previousIndex;

  if (currentIndex == -1) {
    // 如果没有选中任何项,选中最后一项
    previousIndex = _currentOptions.length - 1;
  } else if (currentIndex > 0) {
    // 如果不是第一项,移动到上一项
    previousIndex = currentIndex - 1;
  } else {
    // 如果已经是第一项,保持在第一项
    previousIndex = currentIndex;
  }

  _highlightedIndex.value = previousIndex;
  _highlightedOption.value = _currentOptions[previousIndex];

  // 自动滚动到可见位置(使用实际的widget属性)
  _scrollToIndex(previousIndex);
}