Как изменить элементы из carousel_slider с помощью какого-либо триггера/действия во Flutter?

У меня возникли проблемы с заменой набора изображений в carousel_slider действием/триггером, например onAccept() в моем коде .

В настоящее время я использую перетаскиваемый ползунок, и моя цель - изменить набор изображений, когда я перетаскиваю изображение в dragTarget с помощью onAccept

как я могу этого добиться? Я ценю вашу помощь

это код carousel_slider:

      CarouselSlider _pilihanMakanan = CarouselSlider( 
items: _listMakanan.map((makanan) {
return Row(children: [
  Expanded(
    flex: 1,
    child: LongPressDraggable<Makanan>(
      data: makanan,
      child: Container(
        margin: EdgeInsets.symmetric(horizontal: 2),
        child: Image(
          image: AssetImage(makanan.image),
          fit: BoxFit.contain,
          // width: 50,
        ),
      ),
      feedback: Tooltip(
        message: makanan.nama,
        child: Image(
          image: AssetImage(makanan.image),
          fit: BoxFit.contain,
          width: 100,
        ),
      ),
      childWhenDragging: Container(),
    ),
  ),
]);
}).toList(),
 options: CarouselOptions(
 height: 70,
 autoPlay: false,
 enlargeCenterPage: true,
 enableInfiniteScroll: false,
 viewportFraction: 0.15,

  ),
);

и это реализация слайдера:

      Container(
            margin: EdgeInsets.fromLTRB(0, 45, 119, 19),
            alignment: Alignment.center,
            child: DragTarget<Makanan>(
              onAccept: (makanan) {
                setState(() {
                  _pokok = makanan.image;
                  _targetImageUrl = makanan.image;
                  _totalKalori += makanan.kalori;
                  _listMakanan = _listLauk;  <--- this code seems not working
                });
              },
              builder: (simulation, candidateData, rejectedData) {
                return Container(
                  alignment: Alignment.center,
                  child: _targetImageUrl != ''
                      ? Image(
                          image: AssetImage(_targetImageUrl),
                          width: 50,
                        )
                      : Container(
                          child: Image(
                            image: AssetImage("assets/images/pokok.png"),
                            width: 120,
                          ),
                        ),
                );
              },
            )),

этот код кажется не работает, как я думал

onAccept: (makanan) { setState(() { _listMakanan = _listLauk; });

Спасибо за внимание, я очень ценю вашу помощь

0 ответов

Другие вопросы по тегам