updateChange method
提供一个方法修改数据,并通知子组件 刷新
Implementation
void updateChange(int value) {
if(widget.enable){
setState(() {
if(widget.allowMultipleChoice && null!=widget.defaultChecks){
List<int> temp=[];
if(widget.mutualExclusionIndex>=0){
if(value == widget.mutualExclusionIndex){
widget.defaultChecks?.clear();
widget.defaultChecks?.add(value);
}else{
widget.defaultChecks?.remove(widget.mutualExclusionIndex);
widget.defaultChecks!.contains(value)?
widget.defaultChecks!.remove(value):
widget.defaultChecks!.add(value);
}
for (var element in widget.defaultChecks!) {
temp.add(element);
}
}else{
widget.defaultChecks!.contains(value)?
widget.defaultChecks!.remove(value):
widget.defaultChecks!.add(value);
for (var element in widget.defaultChecks!) {
temp.add(element);
}
}
widget.defaultChecks = temp;
widget.multipleCheckedChange!(temp);
}else{
widget.defaultCheck = value;
if(null!= widget.singleCheckedChange){
widget.singleCheckedChange!(value);
}
}
});
}else{
widget.enableCallBack?.call();
}
}