[flutter] 플러터 GridView에서 아이템을 슬라이드하여 삭제하는 방법은?
일반적으로 GridView에서 아이템을 삭제하려면 Dismissible 위젯을 사용할 수 있습니다. Dismissible 위젯은 사용자가 아이템을 좌우로 슬라이드할 때 제스처를 감지하고 지정된 동작을 실행할 수 있도록 지원합니다.
아래는 플러터 코드 예제입니다.
GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
),
itemCount: _data.length,
itemBuilder: (context, index) {
return Dismissible(
key: Key(_data[index].id),
direction: DismissDirection.endToStart,
onDismissed: (direction) {
setState(() {
_data.removeAt(index);
});
},
background: Container(
color: Colors.red,
alignment: Alignment.centerRight,
child: Icon(Icons.delete),
),
child: ListTile(
title: Text(_data[index].title),
),
);
},
);
이 예제에서 Dismissible 위젯은 GridView의 각 아이템을 감싸고, 사용자가 아이템을 우측으로 슬라이드하면 해당 아이템이 삭제됩니다. Dismissible 위젯은 onDismissed 콜백을 사용하여 아이템이 삭제되도록 설정되었습니다.
이 코드를 사용하여 GridView에서 아이템을 슬라이드하여 삭제할 수 있습니다.