findColumnData method

List findColumnData(
  1. int position
)

寻找对应位置数据

Implementation

List findColumnData(int position) {
  dynamic nextData;
  for (var i = 0; i < position; i++) {
    if (i == 0) {
      nextData = data[selectedData[0]];
    } else {
      dynamic data = nextData[selectedData[i]];
      if (data is Map) {
        nextData = data;
      } else if (data is List) {
        nextData = data;
      } else {
        nextData = [data];
      }
    }
    // 如果是map并且是最后一列 返回对应key
    if ((nextData is Map) && (i == position - 1)) {
      return nextData.keys.toList();
    }

    // 如果数据还没有到最后就已经不是Map
    if (!(nextData is Map) && (i < position - 1)) {
      return [placeData];
    }
  }
  return nextData;
}