1.3.2 fix has caused dismissal pane to overflow now

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

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

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

評価

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

調査の方向性

The body quotes a snippet that wraps an Align in a ClipRect and switches on value == 1; find that code in the repository by searching for clipBehavior, then read the git history of the 1.3.2 change that removed the conditional. Reproduce the left-side overflow by dragging a dismissible tile outside its ListView. Done means the tile stays clipped in that case and the change does not reintroduce the problem the 1.3.2 fix addressed.

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

説明

A fix was recently implemented in 1.3.2 to remove clipBehavior: value == 1 ? Clip.none : Clip.hardEdge

But this has now resulted in the tile overflowing on the left when dragged outside of the ListView it's placed inside - I think we need to use Clip.hardEdge to prevent this.

Is there an issue with just doing this?

final align = Align(
      alignment: alignment,
      heightFactor: axis == Axis.vertical ? value : null,
      widthFactor: axis == Axis.horizontal ? value : null,
      child: child,
    );

    // if (value == 1) {
    //   // We don't want to clip our child in normal conditions.
    //   return align;
    // }

    // We can't use ClipBehavior.none on Flutter versions < 3.
    return ClipRect(
      clipBehavior: Clip.hardEdge, <------ THIS SOLVES THE ISSUE
      child: align,
    );
主要言語
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 を短くまとめたダイジェスト。