方法:
// 递归函数,用于获取混合数据结构中的所有值/*data: Map类型的数据(实体类 toJson)values:存放递归出来的参数*/getAllValues(dynamic data, List<dynamic> values) {if (data is List) {// 如果是数组,递归遍历数组中的每个元素for (var item in data) {getAllValues(item, values);}} else if (data is Map) {// 如果是字典,递归遍历字典中的每个值data.values.forEach((value) {getAllValues(value, values);});} else {// 如果是其他类型,直接添加到值列表中values.add(data);}}
调用:
bool _isHaveParam(){//存放所有参数的数组List<dynamic> allCreateExpParmaValues = [];getAllValues(state.createExpParams.toJson(), allCreateExpParmaValues);//遍历数组中有没有某个参数是nullfor (var element in allCreateExpParmaValues) {if(element != null){return true;}}return false;}