dynamic_widget icon indicating copy to clipboard operation
dynamic_widget copied to clipboard

suggestion: Make buildFromMap accept dynamic instead of Map

Open wyxcoder opened this issue 6 years ago • 1 comments

change static Widget buildFromMap(Map<String, dynamic> map, BuildContext buildContext, ClickListener listener) { to static Widget buildFromMap(dynamic map, BuildContext buildContext, ClickListener listener) { if(map is String) return Text(map);

if((map==null) || !map.containsKey('type'))
  return null;

so the meta data can be more simple, more error tolerable, support setting like

{ "type":"Padding", "padding":"0,4,0,0" }

{ "type":"Padding", "padding":"0,4,0,0", "child":"test" }

wyxcoder avatar Nov 18 '19 00:11 wyxcoder

change static Widget buildFromMap(Map<String, dynamic> map, BuildContext buildContext, ClickListener listener) { to static Widget buildFromMap(dynamic map, BuildContext buildContext, ClickListener listener) { if(map is String) return Text(map);

if((map==null) || !map.containsKey('type'))
  return null;

so the meta data can be more simple, more error tolerable, support setting like

{ "type":"Padding", "padding":"0,4,0,0" }

{ "type":"Padding", "padding":"0,4,0,0", "child":"test" }

I don't think it's a good way to handle json widget, it can lead to more problems.

dengyin2000 avatar Nov 18 '19 06:11 dengyin2000