getSelect<T, S> static method

List<S>? getSelect<T, S>(
  1. List<ISelectBox<T>>? dataList, {
  2. List<S>? collection,
  3. S convert(
    1. ISelectBox<T> event
    )?,
  4. bool penetrate = false,
})

获取选择的列表

Implementation

static List<S>? getSelect<T, S>(List<ISelectBox<T>>? dataList,
    {List<S>? collection,
    S convert(ISelectBox<T> event)?,
    bool penetrate = false}) {
  if (dataList == null) {
    return null;
  }

  collection ??= List.empty(growable: true);
  convert ??= (src) {
    return src as S;
  };
  for (var item in dataList) {
    if (item.isBoxChecked()) {
      collection.add(convert(item));
    }
    if (item.boxChildren != null && penetrate) {
      getSelect(item.boxChildren as List<ISelectBox<T>>,
          collection: collection, convert: convert, penetrate: penetrate);
    }
  }
  return collection;
}