Plattformübergreifende und mobile Benutzeroberflächen · Neue Ressource

Framework7-Designsystem.

Ein natives Skizzenbuch für Framework7 mit echten Swipeout-Aktionen, expliziten iOS-Theme-Werten, einer per Tastatur bedienbaren Schaltfläche zum Öffnen der Aktionen und einer gefilterten Liste, in der abgeschlossene Studien bis zum Zurücksetzen erhalten bleiben.

OpenDesign-Leitfaden9 Kapitel26 ReferenzeinträgeOriginaler Anwendungsleitfaden
01

Vorschau der Framework7-Designsystem-Oberfläche

Öffne die native Swipeout-Aktion einer Studie, markiere sie als skizziert und prüfe die gefilterte Liste.

Framework7 Core/Vue 9.2.0 im verifizierten iOS-Modus; eigenständiges App-Beispiel mit inhaltsabhängiger Höhe. · Implementierungsreferenz
02

Designreferenz für das Framework7-Designsystem

Framework7 Core/Vue 9.2.0 mit explizitem iOS-Modus. Die folgenden Theme-Farben wurden nach der Initialisierung anhand des gerenderten Dokuments überprüft; Listen- und Typografiewerte stammen aus dem mitgelieferten iOS-Stylesheet. Illustrationen der ursprünglichen Notizen und äußeres Layout sind separat gekennzeichnet.

Ermittelte iOS-Theme-Farben

Quelle
Name / RegelWert / KonfigurationVerwendung
--f7-theme-color#007aff Standard-Primärfarbe, direkt im iOS-Dokument überprüft.
--f7-theme-color-rgb0, 122, 255RGB-Kanäle für Alpha-Berechnungen.
--f7-theme-color-shade#0066d6 Abgeleitete Primärfarbe, dunkler abgestuft.
--f7-theme-color-tint#298fff Abgeleitete Primärfarbe, heller abgestuft.
colors.green#4cd964 Benannte Standardfarbe Grün für den Abschlussstatus im Swipeout.
colors.red#ff3b30 Referenz für die Standardrolle Rot; in diesem Beispiel gibt es keine destruktive Aktion.
--f7-text-color#000Standardtextfarbe von iOS; der ursprüngliche Seitentext verwendet #26343f.

Native iOS-Typografie und Listenabmessungen

Quelle
Name / RegelWert / KonfigurationVerwendung
--f7-font-size14pxBasistextgröße des Frameworks.
--f7-font-family-apple-system, SF Pro Text, SF UI Text, system-ui, Helvetica Neue, Helvetica, Arial, sans-serifMitgelieferter iOS-Plattform-Stack.
--f7-line-height1.4Zeilenhöhe der iOS-Basis.
--f7-list-font-size17pxNativer iOS-Listentext.
--f7-list-item-padding-vertical12pxNativer Zeileneinzug.
--f7-list-item-padding-horizontal16pxNatives horizontales Innenabstandsmaß.
--f7-list-item-min-height52pxNative Mindesthöhe einer iOS-Zeile.
--f7-list-item-media-margin16pxNativer Abstand für Medieninhalte.
--f7-list-inset-border-radius24pxReferenz für den Radius nativer eingerückter Listen.
--f7-list-item-subtitle-font-size15pxStandardwert; das ursprüngliche Beispiel setzt Untertitel auf 11px.
--f7-list-item-text-font-size15pxStandardwert; das ursprüngliche Beispiel setzt Beschreibungen auf 12px.
--f7-list-item-text-line-height21pxNative Standardzeilenhöhe für Beschreibungen.

Explizite ursprüngliche Komposition

Quelle
Name / RegelWert / KonfigurationVerwendung
Page title35px / 1.15; 29px narrowUrsprüngliche Hierarchie.
Advice titleGeorgia, serif; 29pxUrsprüngliche redaktionelle Überschrift.
Page/grid spacing32px page; 26px columns; 28px hero-to-gridUrsprüngliche Anwendungswerte.
Main panel22px inset; 16px narrow; 16px radiusUrsprünglicher Rahmen, unabhängig von den nativen Standardwerten für eingerückte Listen.
Grid breakpoint780pxDas Hinweisfeld unter der Skizzenliste anordnen.
Artwork48×62px list thumbnails; 170px tall route illustrationUrsprüngliches CSS, ohne Karten- oder Bilddienst.
Embedding resethtml/body/#app/.framework7-root height:auto; min-height:0Explizite Anpassung des Beispiels, keine Anleitung für eine Vollbild-App.
03

Vollständiger Leitfaden zum Framework7-Designsystem

Ein praktischer Leitfaden zur Auswahl, Anwendung und Überprüfung dieses Systems für ein echtes Interface.

DESIGN-framework7.md

Umfassende Anleitung, Einstieg in die Implementierung und Links zu den Quellen.

Leitfaden herunterladen

Framework7 Designsystem liefert neben Komponenten auch das App-Verhalten

Framework7 liefert neben Komponenten auch das App-Verhalten

Die Vue-Integration von Framework7 basiert auf der Core-Laufzeitumgebung der Anwendung. Der Einstiegspunkt installiert Framework7Vue in Framework7, bevor Vue eingebunden wird, und f7-app initialisiert die Anwendung, die das Swipeout-Verhalten bereitstellt. Nur einige gestaltete Vue-Wrapper zu importieren, würde diese native Interaktionsebene nicht bereitstellen.

Aus diesem OpenDesign-Leitfaden

Das lokale Beispiel hält den Umfang bewusst klein: drei eigene Skizzenvorschläge, native Listenaktionen, ein Filter für abgeschlossene Einträge und eine Zurücksetzen-Funktion. Es konfiguriert weder einen Router noch eine Geräteanbindung, Karte oder dauerhaft gespeichertes Notizbuch. Solche umfassenderen App-Funktionen sollten bewusst ergänzt und nicht durch eine mobil wirkende Vorschau suggeriert werden.

Unterstützende Spezifikation lesen

Framework7-Designsystem: Prüfen, ob das angeforderte Plattform-Theme tatsächlich angewendet wurde

Prüfen, ob das angeforderte Plattform-Theme tatsächlich angewendet wurde

Diese Version akzeptiert theme="ios" direkt auf f7-app. Ein Objekt im älteren params-Format war in der untersuchten Komponente keine gleichwertige, funktionierende Prop und ließ die automatische Desktop-Erkennung zunächst im Material-Modus. Das korrigierte Beispiel überprüft die gerenderte Klasse html.ios und die aufgelösten Theme-Werte, bevor es sie als iOS bezeichnet.

Im verifizierten iOS-Modus ist --f7-theme-color auf #007aff gesetzt, mit dem dunkleren Farbton #0066d6 und dem helleren Farbton #298fff. Ein Theme-Ausgangswert, ein Plattform-Renderingmodus und generierte Material-Farbrollen sind unterschiedliche Konzepte. Wird der berechnete Wert nach der Initialisierung ausgelesen, lässt sich vermeiden, eine Farbe zu dokumentieren, die das Beispiel tatsächlich gar nicht anzeigt.

Unterstützende Spezifikation lesen

Framework7-Designsystem: Native Medienzeilen verwenden und lokale Typografieanpassungen kennzeichnen

Native Medienzeilen verwenden und lokale Typografieanpassungen kennzeichnen

Die Liste verwendet f7-list media-list mit markanten Oberflächen und iOS-Trennlinien. Jede Zeile gibt Titel, Untertitel und Text über das native list-item-API an; eigene kleine Illustrationen werden im Medien-Slot platziert. Die native Mindesthöhe einer iOS-Listenzeile beträgt zweiundfünfzig Pixel, durch mehrzeilige Medieninhalte werden diese Zeilen jedoch ganz natürlich höher.

Die nativen Standardwerte für Untertitel und Beschreibungen betragen fünfzehn Pixel. Das Beispiel verwendet für diese kurzen Studienkarten bewusst unterstützende Texte mit elf beziehungsweise zwölf Pixeln; Titelzeilen und Beschreibungen dürfen dabei umbrechen. Diese lokalen Anpassungen werden getrennt von den offiziellen Variablen angegeben, damit sich sowohl der Standard als auch das Beispiel nachbilden lässt.

Unterstützende Spezifikation lesen

Framework7-Designsystem: Ein Swipeout ist eine Listenelement-Konfiguration mit einem Aktionscontainer

Ein Swipeout ist eine Listenelement-Konfiguration mit einem Aktionscontainer

Für die Zeile ist Swipeout aktiviert; auf der rechten Seite enthält sie f7-swipeout-actions. f7-swipeout-button stellt die Aktionsfläche bereit und schließt den eingeblendeten Bereich nach der Aktivierung. Die Anwendung schaltet die done-Markierung der Notiz um, anstatt die delete-Prop zu aktivieren, da der Abschlussstatus umkehrbar sein soll und der Eintrag erhalten bleiben muss.

Der native Core kann dieselben Aktionen auch durch eine Geste einblenden. Ein sichtbares Steuerelement „Aktionen“ ruft für die Zeile mit stabiler ID außerdem f7.swipeout.open auf. So lässt sich der Befehl auch auf Desktopgeräten und für Tastaturnutzer leicht finden, ohne dass alle erst eine verborgene horizontale Geste entdecken müssen.

  1. Aktiviere bei „Flussschritte“ die Aktion „Aktionen“ und wähle „Als skizziert markieren“.
  2. Wechsle zu „Skizziert“ und prüfe, ob nur „Flussschritte“ sichtbar bleibt.
  3. Öffnen Sie die Aktion erneut, um sie rückgängig zu machen, oder setzen Sie die gesamte Liste zurück.

Unterstützende Spezifikation lesen

Framework7-Designsystem: Den Abschluss im Modell statt in einem entfernten Element speichern

Den Abschlussstatus im Modell beibehalten, statt ihn an ein entferntes Element zu binden

Alle drei Notizobjekte bleiben im Vue-Array. Eine berechnete Sammlung filtert sie nur, wenn das Segment „Skizziert“ ausgewählt ist; ein weiterer berechneter Wert zählt die abgeschlossenen Studien. Stabile IDs verknüpfen jeden nativen Aktionsöffner auch nach dem Filtern mit der richtigen Zeile.

Bei einer abgeschlossenen Notiz ändert sich die Aktionsbeschriftung von „Als skizziert markieren“ zu „Skizze rückgängig machen“. Es gibt keine Overswipe-Kurzbewegung, die nach langem Ziehen unerwartet eine Aktion auslöst, und kein automatisches Löschen, das ein Element entfernt, ohne das Anwendungsmodell zu aktualisieren. Derselbe Datensatz kann in die aktive Liste zurückkehren, ohne aus unvollständigen Daten neu erstellt werden zu müssen.

Unterstützende Spezifikation lesen

Framework7-Designsystem: Im leeren Filterzustand die nächste Aktion erläutern

Im Leerzustand des Filters den nächsten Schritt erläutern

Wenn „Skizziert“ keine Einträge enthält, erklärt das Panel, dass noch keine Studien markiert wurden, und bietet „Alle Studien anzeigen“ an. Diese Schaltfläche ändert dasselbe Filtermodell wie die segmentierten Schaltflächen. Sie bietet einen echten Weg zurück und ist keine dekorative Leerzustandsillustration ohne weitere Aktion.

Mit „Zurücksetzen“ werden alle Abschlussmarkierungen gelöscht, „Alle Studien“ ausgewählt und angezeigt, dass alle drei wieder bereit sind. Nach einzelnen Aktionen benennt der Statustext die genaue Notiz. Beim Neuladen werden außerdem die ursprünglichen Beispieldaten wiederhergestellt, da diese Vorschau ein Notizbuch weder auf einem Gerät noch auf einem Server speichert.

Unterstützende Spezifikation lesen

Framework7-Designsystem: Ein Framework für vollständige Apps sorgfältig an Einbettungen mit inhaltsabhängiger Höhe anpassen

Ein Framework für vollständige Apps sorgfältig an Einbettungen mit inhaltsabhängiger Höhe anpassen

Framework7 unterstützt üblicherweise Layouts für Vollbild-Apps und Seitencontainer. Dieses Beispiel enthält keine gerouteten Seiten und setzt die Höhe und den Überlauf des Wurzeldokuments absichtlich außer Kraft, damit der Inhalt die Höhe des iFrames bestimmt. Eine Mindesthöhe relativ zum Viewport würde eine Rückkopplungsschleife mit einem übergeordneten Element erzeugen, das die Größe des iFrames an das untergeordnete Dokument anpasst.

Die native Liste bleibt innerhalb des initialisierten App-Wurzelelements. Das ursprüngliche zweispaltige Layout mit Skizzen und Tipps wird bei 780px gestapelt; bei schmaleren Zeilen wird die Vorschaubildbreite verringert, während sich die Beschreibungen weiterhin umbrechen. Diese Einbettungsanpassungen sollten nicht pauschal in einer normalen, gerouteten mobilen App übernommen werden, die auf das Seiten-Scrollmodell von Framework7 setzt.

Unterstützende Spezifikation lesen

Framework7-Designsystem: Gestenaktionen mit einem expliziten Steuerelement ergänzen

Gestenaktionen mit einem expliziten Steuerelement ergänzen

Der sichtbare Aktionsöffner benennt seine Zeile, zum Beispiel „Aktionen für Flussschritte“. Die segmentierten Auswahlmöglichkeiten zeigen ihren gedrückten Zustand an, das Ergebnis wird in einem Statusbereich ausgegeben und das ursprüngliche Bildmaterial ist dekorativ. Nutzer können dieselbe Aktion ohne Touch-Geste aufrufen und anschließend hören, welche Notiz geändert wurde.

Beim lokalen Test wurde über den sichtbaren Öffner die tatsächliche native Swipeout-Fläche geöffnet, „Flussschritte“ markiert, die Liste gefiltert und überprüft, dass ein durch das Modell gestützter Eintrag verblieb. Außerdem wurden das gerenderte iOS-Design und das Layout bei 280px geprüft. Das bloße Vorhandensein von Swipeout in CSS würde keines dieser Verhaltensweisen nachweisen.

  • Den Aktionsöffner mit dem Namen des Eintrags beschriften.
  • Eine umkehrbare Modellaktion beibehalten, statt nur das DOM-Element zu löschen.
  • Die gefilterte Sammlung und den Status nach der nativen Aktion testen.

Unterstützende Spezifikation lesen

Framework7-Designsystem: Zueinander passende Core- und Vue-Versionen installieren

Zueinander passende Core- und Vue-Versionen installieren

Der Einstiegspunkt importiert Framework7 aus framework7/bundle, Framework7Vue aus framework7-vue und das Stylesheet des Bundles. Das Bundle enthält das für dieses Beispiel benötigte Swipeout-Modul. Framework7.use(Framework7Vue) wird ausgeführt, bevor createApp die vollständige SFC einbindet.

Beide Pakete sind auf 9.2.0 festgelegt. Die vollständige SFC und das ursprüngliche Stylesheet sind oben enthalten; das Root-Element HTML im Vite-Setup hat das erwartete App-Mount-Element. Für die sichtbaren Originalillustrationen ist kein Icon-Paket erforderlich; der Core von Framework7 CSS enthält seine eigene kleine interne Icon-Schriftart.

Unterstützende Spezifikation lesen

Framework7-Designsystem: Komponentenbeispiele

Vollständiges Skizzenbuch mit nativen Swipeout-Aktionen

f7App, segmentierte Schaltflächen, Medienlistenzeilen und native Swipeout-Aktionen mit dauerhaftem Vue-Modellstatus.

vue
<script setup>
import {ref,computed} from 'vue';
import {f7App,f7List,f7ListItem,f7SwipeoutActions,f7SwipeoutButton,f7Button,f7Segmented,f7} from 'framework7-vue';
const filter=ref('all'),message=ref('');
const notes=ref([{id:'river',title:'River steps',place:'North bank · 12-minute study',description:'Look for the rhythm between the stone edges and reflected lines.',done:false},{id:'market',title:'Market awning',place:'Old square · 8-minute study',description:'Use three values to separate canvas, shade and open sky.',done:false},{id:'window',title:'Window shadows',place:'Library wall · 10-minute study',description:'Follow the long diagonal before adding the smaller window shapes.',done:false}]);
const visible=computed(()=>notes.value.filter(n=>filter.value==='all'||n.done));const done=computed(()=>notes.value.filter(n=>n.done).length);
function actions(id){f7.swipeout.open('#note-'+id,'right')}
function toggle(note){note.done=!note.done;message.value=`${note.title} ${note.done?'marked as sketched':'returned to your sketch list'}.`}
function reset(){notes.value.forEach(n=>n.done=false);filter.value='all';message.value='All three studies are ready to sketch again.'}
</script>
<template><f7-app name="Field sketchbook" theme="ios"><main class="sketch-shell"><header><p class="eyebrow">FIELD SKETCHBOOK · THREE SMALL STUDIES</p><h1>A walk worth looking at.</h1><p>Keep a short list of things to draw. Swipe a study left, or use its Actions button, to mark it as sketched.</p></header><div class="sketch-layout"><section class="sketch-list"><div class="list-heading"><h2>Today's studies</h2><span>{{done}} / 3 sketched</span></div><f7-segmented strong><f7-button type="button" :active="filter==='all'" @click="filter='all'" :aria-pressed="filter==='all'">All studies</f7-button><f7-button type="button" :active="filter==='done'" @click="filter='done'" :aria-pressed="filter==='done'">Sketched</f7-button></f7-segmented><f7-list media-list strong dividers-ios class="study-list"><f7-list-item v-for="note in visible" :id="'note-'+note.id" :key="note.id" swipeout :title="note.title" :subtitle="note.place" :text="note.description"><template #media><div class="study-art" :class="note.id" aria-hidden="true"><i></i><b></b></div></template><template #after><f7-button type="button" small @click="actions(note.id)" :aria-label="'Actions for '+note.title">Actions</f7-button></template><f7-swipeout-actions right><f7-swipeout-button role="button" @keydown.space.prevent="$event.currentTarget.click()" close color="green" @click="toggle(note)">{{note.done?'Undo sketch':'Mark sketched'}}</f7-swipeout-button></f7-swipeout-actions></f7-list-item></f7-list><div v-if="!visible.length" class="empty"><strong>No studies marked yet.</strong><p>Return to All studies and mark one after you finish drawing.</p><f7-button type="button" @click="filter='all'">Show all studies</f7-button></div><p class="result" role="status">{{message||'Your list changes only in this local preview.'}}</p><f7-button type="button" outline @click="reset">Reset sketch list</f7-button></section><aside><div class="route-art" aria-hidden="true"><i></i><b></b><span></span><em></em></div><p class="eyebrow">A SIMPLE DRAWING ROUTINE</p><h2>Look. Reduce. Draw.</h2><ol><li><strong>Look for one relationship.</strong><span>Choose an edge, a shadow or a repeated shape.</span></li><li><strong>Reduce the scene.</strong><span>Keep only three values before adding detail.</span></li><li><strong>Stop at the time limit.</strong><span>A small finished study teaches more than an unfinished page.</span></li></ol><p class="aside-note">Original sample locations and prompts. No map, location service or real-world itinerary is connected.</p></aside></div></main></f7-app></template>

Code-Referenz

  • theme="ios" ist in dieser Version eine direkte f7-app-Prop.
  • Das sichtbare Steuerelement „Aktionen“ ruft die native Swipeout-open-API auf.
  • Beim Markieren wird das Vue-Objekt geändert; die DOM-Zeile wird nicht gelöscht.

Vollständiges ursprüngliches Einbettungslayout

Anpassungen für inhaltsabhängige Höhe, Zeilenumbrüche in schmalen Zeilen und originale Skizzenillustrationen.

css
html,body,#app,.framework7-root{height:auto!important;min-height:0!important;overflow:visible!important;position:relative!important}body{margin:0;background:#f1f3f6;color:#26343f}*{box-sizing:border-box}.sketch-shell{max-width:1120px;margin:auto;padding:32px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.14em;color:#6b7882}h1{font-size:35px;line-height:1.15;max-width:680px;margin:12px 0}header>p:last-child{font-size:15px;line-height:1.6;max-width:650px;color:#687986}.sketch-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:26px;margin-top:28px}.sketch-list{background:white;border:1px solid #dce3e9;border-radius:16px;padding:22px;min-width:0}.list-heading{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:20px}.list-heading h2{font-size:20px;margin:0}.list-heading span{font-size:12px;color:#6d7b84}.study-list{margin:24px -22px}.study-list .item-title-row{flex-wrap:wrap;gap:7px}.study-list .item-title{white-space:normal;overflow:visible}.study-list .item-after{margin-left:0}.study-list .item-subtitle{white-space:normal;font-size:11px;color:#72808a}.study-list .item-text{font-size:12px;line-height:1.5;max-height:none;-webkit-line-clamp:unset}.study-list .item-media{align-self:flex-start;padding-top:17px}.study-art{width:48px;height:62px;background:#e0e9ef;border-radius:7px;position:relative;overflow:hidden}.study-art i,.study-art b{position:absolute;display:block}.river i{width:55px;height:28px;top:30px;left:0;background:#8eaebe;transform:rotate(-18deg)}.river b{width:24px;height:40px;left:0;top:0;background:repeating-linear-gradient(#c5c1b6 0 8px,#a7a295 8px 10px)}.market{background:#ecdcbf}.market i{width:60px;height:24px;left:-5px;top:12px;background:repeating-linear-gradient(90deg,#bc735f 0 10px,#f9e9d1 10px 20px);transform:rotate(8deg)}.market b{width:26px;height:35px;left:11px;top:37px;background:#7b8072}.window{background:#ece9df}.window i{width:25px;height:29px;left:9px;top:9px;border:5px solid #617381}.window b{width:28px;height:55px;left:22px;top:25px;background:#b1b9b9;transform:skew(25deg)}.result{font-size:12px;line-height:1.6;color:#4f6a79;min-height:38px}.empty{padding:30px 12px;text-align:center;font-size:13px;line-height:1.6}.sketch-layout aside{padding:0 4px;min-width:0}.route-art{height:170px;border-radius:14px;background:#dce8df;position:relative;overflow:hidden;margin-bottom:24px}.route-art i{position:absolute;width:190px;height:190px;border:21px solid #aac6b4;border-radius:50%;left:55px;top:34px}.route-art b{position:absolute;width:90px;height:190px;border:15px solid #f4eed9;border-radius:50%;left:23px;top:-17px;transform:rotate(-25deg)}.route-art span,.route-art em{position:absolute;width:13px;height:13px;border:3px solid white;background:#537b70;border-radius:50%;left:67px;top:111px}.route-art em{left:167px;top:52px}.sketch-layout aside h2{font-family:Georgia,serif;font-size:29px;font-weight:400}.sketch-layout ol{padding-left:20px}.sketch-layout li{padding:0 0 20px;font-size:13px;line-height:1.6}.sketch-layout li strong,.sketch-layout li span{display:block}.sketch-layout li span{color:#71808a;font-size:12px;margin-top:5px}.aside-note{font-size:11px;line-height:1.6;color:#7b8790}@media(max-width:780px){.sketch-layout{grid-template-columns:minmax(0,1fr)}.sketch-shell{padding:20px}h1{font-size:29px}}@media(max-width:360px){.sketch-shell{padding:14px}.sketch-list{padding:16px}.study-list{margin:20px -16px}.study-art{width:34px}.study-list .item-media{--f7-list-item-media-margin:10px}.study-list .item-inner{min-width:0}.study-list .item-title{font-size:15px}}

Code-Referenz

  • Dieses Zurücksetzen ist für ein eingebettetes Beispiel gedacht, nicht für das Shell-Layout einer gerouteten Vollbild-App.
  • Überschreibungen für Listenuntertitel und -beschreibungen sind explizit angegeben.
04

Framework7-Designsystem: Agent-Einrichtung

Ausgangspunkt für die Implementierung

Abgestimmte Versionen von Framework7/Core Vue 9.2.0 überprüft. Dies ist ein initialisiertes Komponentenbeispiel mit Anpassungen für inhaltsabhängige Höhe, keine vollständige geroutete mobile Anwendung.

javascript
// npm create vite@latest field-sketchbook -- --template vue
// cd field-sketchbook && npm install
// npm install [email protected] [email protected]
// Save the complete examples as src/App.vue and src/style.css.
// src/main.js:
import {createApp} from 'vue';
import Framework7 from 'framework7/bundle';
import Framework7Vue from 'framework7-vue';
import 'framework7/css/bundle';
import './style.css';
import App from './App.vue';
Framework7.use(Framework7Vue);
createApp(App).mount('#app');
// index.html: <div id="app"></div><script type="module" src="/src/main.js"></script>
// npm run dev

Ein Prompt für dein Projekt

Agenten-Prompt
Verwenden Sie Framework7 Core/Vue 9.2.0 mit dem bereitgestellten Field-Skizzenbuch, dem expliziten theme="ios" und der nativen Swipeout-Struktur der Medienliste. Behalten Sie die drei Skizzenstudien, ihre umkehrbaren Erledigt-Markierungen und die Filter „Alle“/„Skizziert“ bei. Sichtbare Schaltflächen „Aktionen“ sollten f7.swipeout.open aufrufen; beim Abschließen wird der Modellstatus geändert, statt die Zeile zu löschen. Behalten Sie type="button" bei f7-button sowie die Schaltflächensemantik und die Leertastenunterstützung des Swipeout-Befehls bei. Behalten Sie die Einbettungs-CSS mit inhaltsabhängiger Höhe, die Wiederherstellung aus einem leeren Filter und das Zurücksetzen bei. Ein Routenplaner oder Standortdienst ist nicht erforderlich.
05

Framework7-Designsystem: Quellen und Umfang

Framework7 Core/Vue 9.2.0 mit überprüftem iOS-Modus. Originale Skizzenaufgaben und dekorative Illustrationen. Der Abschluss ist ein umkehrbarer lokaler Status; Karte, Standortdienst, Gerätespeicher und geroutete App sind nicht angebunden.