[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에서 아이템을 슬라이드하여 삭제할 수 있습니다.