如何简化Dart中的空检查

时间:2018-10-12 05:52:07

标签: dart

在以下给出的dart代码中,简化空检查的可能方法有哪些:

下面给出的代码检查传递的参数是否为空或为空,并将其分配给正确的值。

bool showBasicDialog = false;
String startPath = '';
String frameToolID = '';
String path = '';
String host = '';
String frameToolName = '';

/// for opening a frame tool
void openFrameTool(
  String frameToolNameInp,
  String toolIDInp,
  String pathInp,
  String hostInp,
) async {
  if (frameToolNameInp != null && frameToolNameInp.isNotEmpty) {
    frameToolName = frameToolNameInp;
  }
  if (toolIDInp != null && toolIDInp.isNotEmpty) {
    frameToolID = toolIDInp;
  }
  if (pathInp != null && pathInp.isNotEmpty) {
    path = pathInp;
  }
  if (hostInp != null && hostInp.isNotEmpty) {
    host = hostInp;
  }
  showBasicDialog = true;
}

1 个答案:

答案 0 :(得分:4)

  String _valueOrDefault(String value, String default) => (value?.isNotEmpty ?? false) : value ? default;

  ...

  frameToolName = _valueOrDefault(frameToolNameInp, frameToolName);

  frameToolID = _valueOrDefault(toolIDInp, frameToolID);

  path = _valueOrDefault(pathInp, path);

  host = _valueOrDefault(hostInp, host);

  showBasicDialog = true;