updateChange method

void updateChange(
  1. int value
)

提供一个方法修改数据,并通知子组件 刷新

Implementation

void updateChange(int value) {

  if(widget.enable){
    setState(() {
      if(widget.allowMultipleChoice && null!=widget.defaultCheckeds){

         List<int> temp=[];
         if(widget.mutualExclusionIndex>=0){

           if(value == widget.mutualExclusionIndex){
             widget.defaultCheckeds?.clear();
             widget.defaultCheckeds?.add(value);
           }else{
             widget.defaultCheckeds?.remove(widget.mutualExclusionIndex);

             widget.defaultCheckeds!.contains(value)?
             widget.defaultCheckeds!.remove(value):
             widget.defaultCheckeds!.add(value);
           }

           for (var element in widget.defaultCheckeds!) {
             temp.add(element);
           }

         }else{
           widget.defaultCheckeds!.contains(value)?
           widget.defaultCheckeds!.remove(value):
           widget.defaultCheckeds!.add(value);
           for (var element in widget.defaultCheckeds!) {
             temp.add(element);
           }
         }
         widget.defaultCheckeds = temp;
         widget.multipleCheckedChange!(temp);
      }else{
        widget.defaultCheck = value;
        if(null!= widget.singleCheckedChange){
          widget.singleCheckedChange!(value);
        }
      }
    });
  }else{
    widget.enableCallBack?.call();
  }
}