パネルの内側のエッジをドラッグしてサイズを変えるか、ピントを合わせて矢印キーを使うと良いでしょう。エッジをダブルクリックするか、Enterキーを押すとデフォルトの幅に戻ります。
ページの端から内容の上をスライドさせる SidePanel があり、ページに置くべきフォームや詳細を表示できます。ユーザーは内側の端にあるドラッグハンドルでサイズ変更し、ナビゲーションをリサイズし、ハンドルをダブルクリックしてリセットできます。デフォルトではページの右側、つまり終わりにドッキングします。左側にドッキングするには Position (position)を Start (start)に設定してください。グリッドボタンは、位置がサイドパネルにある場合、一つのレコードフォームを開きます。
<Button onClick={() => setOpen(true)}>詳細</Button>
<SidePanel
open={open}
onOpenChange={setOpen}
title="詳細"
widthStorageKey="my-app.details-panel.width"
>
...
</SidePanel><FluentButton OnClick="@(() => _open = true)">詳細</FluentButton>
<SidePanel @bind-Open="_open"
Title="詳細"
WidthStorageKey="my-app.details-panel.width">
...
</SidePanel>サイズ変更はデフォルトでオンになっています。 EnableResizing (ReactではenableResizing )を false に設定し、固定幅に設定します。 DefaultWidth、 MinWidth 、 MaxWidth は開始幅とユーザーが持てる距離を設定し、パネル幅はビューポートより大きくなりません。パネルのキーを WidthStorageKey に渡すと、ユーザーが放置した幅でページ読み込みを横断して再開します。電話ではパネルは幅全体を使い、ハンドルはありません。
{/* 560pxから始まり、400pxから900pxまでサイズ変更可能、記憶に残っています */}
<SidePanel
open={open}
onOpenChange={setOpen}
defaultWidth={560}
minWidth={400}
maxWidth={900}
widthStorageKey="my-app.editor-panel.width"
>
...
</SidePanel>
{/* 取っ手のない固定幅 */}
<SidePanel open={open} onOpenChange={setOpen} enableResizing={false}>
...
</SidePanel><!-- 560pxから始まり、400pxから900pxまでサイズ変更可能、記憶に残っています -->
<SidePanel @bind-Open="_open"
DefaultWidth="560"
MinWidth="400"
MaxWidth="900"
WidthStorageKey="my-app.editor-panel.width">
...
</SidePanel>
<!-- 取っ手のない固定幅 -->
<SidePanel @bind-Open="_open" EnableResizing="false">
...
</SidePanel>Title そしてほとんどのパネルは FooterContent (title と footer )をカバーします。フッターがコンテンツ内の状態に依存している場合(フォームに変更があった場合にのみ「保存」ボタンが有効になる)、代わりにパネルを構成してください。Blazorでは TitleTemplate と FooterContent 、Reactでは SidePanelHeader、 SidePanelBody 、 SidePanelFooterはそれぞれ独自のコンテキストプロバイダー内に配置できます。
<SidePanel open={open} onOpenChange={setOpen}>
<RecordContext table="contact" id={id}>
<SidePanelHeader>詳細</SidePanelHeader>
<SidePanelBody>...</SidePanelBody>
<SidePanelFooter>
<SaveButton /> {/* 記録のコンテキストを読み取り、保存すべきものがあるかどうかを判断します */}
</SidePanelFooter>
</RecordContext>
</SidePanel><SidePanel @bind-Open="_open">
<TitleTemplate>詳細</TitleTemplate>
<ChildContent>...</ChildContent>
<FooterContent>
<FluentButton OnClick="@SaveAsync" Disabled="@(!_isDirty)">セーブ</FluentButton>
</FooterContent>
</SidePanel>パネルの両側を開いて内側の端をドラッグしてサイズ変更するか、エッジにフォーカスして矢印キーを使うか、ダブルクリックするかEnterキーを押してリセットします。幅を覚えているので閉じてページを読み込み、再度開いてください。
パネルの内側のエッジをドラッグしてサイズを変えるか、ピントを合わせて矢印キーを使うと良いでしょう。エッジをダブルクリックするか、Enterキーを押すとデフォルトの幅に戻ります。
名称 | 種類 | デフォルト | 概要 |
|---|---|---|---|
ChildContent | RenderFragment? | パネルの内容。 | |
DefaultWidth | int | 400 | ユーザーがリサイズする前とダブルクリックリセット時のpxの幅。デフォルトは400です。 |
EnableResizing | bool | True | true(デフォルト)時は、ページに向かうパネルの端にドラッグハンドルを付けます ユーザーがサイズ変更できます。ハンドルをダブルクリックするとSidePanel.DefaultWidthにリセットできます。 電話にはハンドルがなく、パネルが幅全体を覆っています。 |
FooterContent | RenderFragment? | パネルのフッター、通常はアクションボタンです。 | |
MaxWidth | int | 1200 | ユーザーがパネルを最大幅で作れるのはpx。デフォルトは1200;ビューポートより幅広くは決してありません。 |
MinWidth | int | 320 | ユーザーがパネルをできるだけ狭くできるのはpxで。デフォルトは320です。 |
Modal | bool | True | パネルがモーダルかどうか。デフォルトは true。 |
Open | bool | False | パネルが開いているかどうか。双方向バインブル。 |
Position | SidePanelPosition | End | パネルがドッキングするページの端。デフォルトは SidePanelPosition.Endです。 |
PreventDismissOnEscape | bool | False | Escapeキーを押すのがパネルを閉じる代わりに無視されるかどうか。 |
ShowDismiss | bool | True | タイトルバーに終了(X)ボタンを表示するかどうか。デフォルトは true。 |
Title | string? | タイトルはプレーンテキスト。設定 SidePanel.TitleTemplate は無視されます。 | |
TitleTemplate | RenderFragment? | タイトルの内容。 | |
WidthStorageKey | string? | localStorageキーはパネルの幅を記憶するため、ユーザーのサイズで再開されます そのままにしておきましょう。毎回 SidePanel.DefaultWidth から始めるために設定を解除してください。それぞれのタイプを パネルはそれぞれの幅を記憶するので、それぞれのキーが独立しています。 |
ChildContentDefaultWidthEnableResizingtrue(デフォルト)時は、ページに向かうパネルの端にドラッグハンドルを付けます ユーザーがサイズ変更できます。ハンドルをダブルクリックするとSidePanel.DefaultWidthにリセットできます。 電話にはハンドルがなく、パネルが幅全体を覆っています。FooterContentMaxWidthMinWidthModaltrue。OpenPositionSidePanelPosition.Endです。PreventDismissOnEscapeShowDismisstrue。TitleSidePanel.TitleTemplate は無視されます。TitleTemplateWidthStorageKeySidePanel.DefaultWidth から始めるために設定を解除してください。それぞれのタイプを パネルはそれぞれの幅を記憶するので、それぞれのキーが独立しています。名称 | 種類 | 概要 |
|---|---|---|
OnDismiss | EventCallback | ユーザーがパネルを閉じるとき(Escapeまたは終了ボタンを押す)時に上がりますが、その時ではありません SidePanel.Open は親によって設定されます。 |
OpenChanged | EventCallback<bool> | ユーザーがパネルを閉じると false が上がります。 |
OnDismissSidePanel.Open は親によって設定されます。OpenChangedfalse が上がります。