selectIndex method

List<T>? selectIndex(
  1. int index
)

index处进行单选操作, 如果T不为Selectable则什么都不做, 直接透传

Implementation

List<T>? selectIndex(int index) {
  if (_subject.isClosed) {
    L.w('IO在close状态下请求发送数据');
    return null;
  }

  if (isEmpty(latest)) {
    L.w('当前IO数据为null, 略过选择操作');
    return null;
  }

  assert(latest is List<Selectable>);
  for (var i = 0; i < latest!.length; i++) {
    final item = latest![i];
    if (item is Selectable) {
      item.isSelected = index == i;
    }
  }

  // 刷新数据
  invalidate();

  return latest;
}