Skip to main content
.quickLookPreview(props: {
  url?: string,
  setURL?: (url: string | null) => void,
  urls?: string[],
  onLoadingChanged?: (isLoading: boolean) => void
}): Component;

Parameters

props
object
required
Configuration object for Quick Look preview functionality.

Support

Usage

Basic file preview

const [currentUrl, setCurrentUrl] = useState(undefined);

Image({url: "document.png"})
    .quickLookPreview({
        url: currentUrl,
        setURL: setCurrentUrl
    })
    .onTapGesture(() => {
        setCurrentUrl("document.pdf");
    })

Preview with loading state

const [currentUrl, setCurrentUrl] = useState(undefined);
const [isLoading, setIsLoading] = useState(false);

Button("Preview Document", () => {})
    .quickLookPreview({
        url: currentUrl,
        setURL: setCurrentUrl,
        onLoadingChanged: setIsLoading
    })
    .onTapGesture(() => {
        setCurrentUrl("https://example.com/report.pdf");
    })

Multi-file preview navigation

const [currentUrl, setCurrentUrl] = useState(undefined);
const documentUrls = documents.map(doc => doc.url);

Text("View Reports")
    .quickLookPreview({
        url: currentUrl,
        setURL: setCurrentUrl,
        urls: documentUrls
    })
    .onTapGesture(() => {
        setCurrentUrl(documents[0].url);
    })