select method
对target
进行单选操作, 如果T
不为Selectable则什么都不做, 直接透传
Implementation
List<T>? select(T? target, {bool isRadio = true}) {
if (_subject.isClosed) {
L.w('IO在close状态下请求发送数据');
return null;
}
if (isEmpty(latest)) {
L.w('当前IO数据为null, 略过选择操作');
return null;
}
assert(latest is List<Selectable>);
return forEach((T data) {
if (data is Selectable) {
if (isRadio) {
data.isSelected = (data == target);
} else {
if (data == target) data.isSelected = true;
}
}
});
}