ReorderableListView will cause flutter_slidable error when long press to sort

オープン
#413 コメント 1 件 リアクション 2 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
flutter
領域
mobile

調査の方向性

The stack trace names SlidableScrollingBehavior and SlidableNotificationSender in the flutter_slidable package, and the trigger is a long press inside a ReorderableListView. Start by reproducing with a minimal list that has slidable items and a reorderable long press, then check where Scrollable.of() is called from the slidable scrolling behaviour's context. Done means the long-press reorder runs without the assertion, with a test that covers it.

索引モデルが issue の本文から書いたものです。

説明

Flutter 3.7.6 • channel stable
flutter_slidable 2.0.0

1、Without long pressing the widget to sort, everything works fine

2、When sorting by long press, the following error occurs

======== Exception caught by widgets library =======================================================
The following assertion was thrown building SlidableNotificationSender(state: _SlidableNotificationSenderState#c9e0d):
Scrollable.of() was called with a context that does not contain a Scrollable widget.

No Scrollable widget ancestor could be found starting from the context that was passed to Scrollable.of(). This can happen because you are using a widget that looks for a Scrollable ancestor, but no such ancestor exists.
The context used was:
SlidableScrollingBehavior(dirty, state: _SlidableScrollingBehaviorState#00531)

主要言語
Dart
スター
2.9k
フォーク
646
平均マージ
5分
マージ済み PR(30日)
9

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

letsar/flutter_slidable のほかの issue

letsar/flutter_slidable の issue をすべて見る

似ている issue

Dart の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。