В любом случае отменить перетаскивание виджета во флаттер? - PullRequest
0 голосов
/ 26 мая 2020

У меня на домашнем экране есть тернарный оператор:

CircleData2.dk1 == 0 ? Padding(child: Center(child: Container(height: 50, width: 50, color: Colors.pink,)), padding: EdgeInsets.all(40),) : Try2(id: 1, reload: reload,),

Я хочу, чтобы, когда CircleData.dk1 не равняется 0 (он начинается с 1), отбрасывать текущий перетаскиваемый объект (Try2 - это настраиваемый виджет это перетаскиваемый, я покажу его через мгновение) и просто замените его на:

Padding(child: Center(child: Container(height: 50, width: 50, color: Colors.pink,)), padding: EdgeInsets.all(40),)

Виджет Custom Try2 выглядит следующим образом:

@override
  Widget build(BuildContext context) {
    return Padding(
      padding: EdgeInsets.all(40),
      child: Center(
        child: DragTarget<dynamic>(
            builder: (context, accepted, rejected){
                return Draggable(
                  maxSimultaneousDrags: getDrag(),
                  child: Container(height: 50, width: 50, color: Colors.pink,),
                  feedback: Container(height: 50, width: 50, color: Colors.pink,),
                  childWhenDragging: Container(height: 50, width: 50, color: Colors.yellowAccent,),
                );
            }
        ),
      ),
    );
  }
...