Màn hình danh sách thông thường: tiêu đề, thanh công cụ và các hàng, chạy được cả trên máy tính lẫn điện thoại.
Mỗi ví dụ đều hoạt động thật, nhưng các liên kết trong đó không dẫn đến đâu. HTML hiển thị mã đánh dấu để sao chép.
page-header
Thanh tiêu đề của màn hình: một h1, một phụ đề tuỳ chọn và một hành động chính.
Tiêu đề, tiêu đề phụ và một hành động chính
<headerrst-page-header>
<divrst-page-header-titles>
<h1>Bài viết</h1>
<prst-page-header-sub>Mọi thứ bạn đã viết, mới nhất ở trên.</p>
</div>
<arst-btn="primary"href="/posts/new">
<svgclass="icon"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"aria-hidden="true"><pathd="M5 12h14"/><pathd="M12 5v14"/></svg>
Viết một bài
</a>
</header>
{{template"page-header"dict"Title""Bài viết""Sub""Mọi thứ bạn đã viết, mới nhất ở trên.""ActionHref""/posts/new""ActionLabel""Viết một bài""ActionIcon""plus"}}
{{template"list-bar-search"dict"Action""/comments""Query""thư rác""Placeholder""Tìm bình luận""Hidden" (list (list"page""4"))
"ClearHref""/comments"}}
Không có gì trong Hidden cho biết cặp nào là số trang, nên mặc định sẽ mang page=4 vào một tập kết quả không còn bốn trang nữa. ClearHref là cách một ứng dụng đặt lại điều đó.
Không có gì hiện ra ở đây cho đến khi bạn dùng phím Tab đi vào.
list-row-action
Một hàng danh sách: tên bản ghi làm liên kết chính, một dòng thông tin phụ và một hành động phụ.
Dấu dẫn đầu, trạng thái và một hành động
Đặt đoạn này bên trong <div rst-list>.
<divrst-row>
<spanrst-row-leaddata-lead="accent"aria-hidden="true">RN</span>
<spanrst-row-main><ahref="/posts/1">Ghi chú phát hành, tháng Tám</a>
<smallrst-row-sub>Đăng ngày 2 tháng 8 · đọc trong 4 phút</small>
</span>
<spanrst-statusrst-tone="positive">Đã đăng</span>
<arst-row-actionhref="/posts/1/edit"aria-label="Sửa Ghi chú phát hành, tháng Tám">Sửa</a>
</div>
Đặt đoạn này bên trong <div rst-list>.
{{template"list-row-action"dict"Href""/posts/1""Main""Ghi chú phát hành, tháng Tám""Sub""Đăng ngày 2 tháng 8 · đọc trong 4 phút""ActionHref""/posts/1/edit""ActionLabel""Sửa""ActionAria""Sửa Ghi chú phát hành, tháng Tám""StatusTone""positive""StatusLabel""Đã đăng""Lead""accent""LeadInitial""RN"}}
Chỉ có tên và dòng thông tin phụ
Đặt đoạn này bên trong <div rst-list>.
<divrst-row>
<spanrst-row-main><ahref="/posts/2">Vì sao chúng tôi bỏ trình chạy cũ</a>
<smallrst-row-sub>Bản nháp · đã lưu 20 phút trước</small>
</span>
</div>
Đặt đoạn này bên trong <div rst-list>.
{{template"list-row-action"dict"Href""/posts/2""Main""Vì sao chúng tôi bỏ trình chạy cũ""Sub""Bản nháp · đã lưu 20 phút trước"}}
row-menu
Các thao tác khác của một hàng, sau nút ⋮. Thao tác phá hủy liên kết tới trang xác nhận của nó.
Liên kết, một biểu mẫu và một mục phá hủy
<detailsrst-row-menuname="rst-menus">
<summaryaria-label="Thao tác cho Grace Hopper">
<svgclass="icon"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"aria-hidden="true"><circlecx="12"cy="12"r="1"/><circlecx="12"cy="5"r="1"/><circlecx="12"cy="19"r="1"/></svg>
</summary>
<divrst-row-menu-panel>
<ahref="/orders/AB3PX/edit">Sửa</a>
<formmethod="post"action="/orders/AB3PX/archive">
<inputtype="hidden"name="state"value="archived">
<buttontype="submit">Lưu trữ</button>
</form>
<hr>
<aclass="rst-danger"href="/orders/AB3PX/delete">Xóa đơn hàng…</a>
</div>
</details>
Đặt mục phá hủy ở cuối và kết thúc nhãn của nó bằng …. Nó mở một trang hỏi lại trước khi xóa bất cứ thứ gì.
Chỉ liên kết, cho danh sách nằm trong biểu mẫu chọn
<detailsrst-row-menuname="rst-menus">
<summaryaria-label="Thao tác cho Alan Turing">
<svgclass="icon"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"aria-hidden="true"><circlecx="12"cy="12"r="1"/><circlecx="12"cy="5"r="1"/><circlecx="12"cy="19"r="1"/></svg>
</summary>
<divrst-row-menu-panel>
<ahref="/orders/CD4QY/edit">Sửa</a>
<hr>
<aclass="rst-danger"href="/orders/CD4QY/delete">Xóa đơn hàng…</a>
</div>
</details>
{{template"row-menu"dict"Name""Alan Turing""Items" (list
(dict"Href""/orders/CD4QY/edit""Label""Sửa")
(dict"Danger"true"Href""/orders/CD4QY/delete""Label""Xóa đơn hàng…"))}}
Bên trong một biểu mẫu, mọi mục phải là liên kết. Thao tác gửi dữ liệu đi qua một trang riêng của nó.
seg-tabs
Một điều khiển phân đoạn gồm các liên kết dựng từ máy chủ. Tab hiện tại là aria-current trên một liên kết.
Hai mục
<navrst-seg-tabsaria-label="Các phần của bài viết">
<ahref="?tab=basics"aria-current="page">Cơ bản</a>
<ahref="?tab=advanced">Nâng cao</a>
</nav>
{{template"seg-tabs"dict"Label""Các phần của bài viết""Items" (list
(dict"Current"true"Href""?tab=basics""Label""Cơ bản")
(dict"Href""?tab=advanced""Label""Nâng cao"))}}
dropdown
Một khối bung mở không dùng chút JavaScript nào: một nút summary trên một bảng gồm các liên kết thường.
Trình đơn lọc đã áp dụng một lựa chọn
<detailsrst-dropdownname="rst-menus">
<summaryrst-btnaria-label="Sắp xếp bài viết: mới nhất trước">
Mới nhất
<svgclass="icon"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"aria-hidden="true"><pathd="m6 9 6 6 6-6"/></svg>
</summary>
<divrst-dropdown-menu>
<ahref="/posts?sort=newest"aria-current="true">Mới nhất <svgclass="icon"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"aria-hidden="true"><pathd="M20 6 9 17l-5-5"/></svg></a>
<ahref="/posts?sort=oldest">Cũ nhất</a>
<ahref="/posts?sort=title">Theo tiêu đề</a>
</div>
</details>
{{template"dropdown"dict"Label""Mới nhất""Aria""Sắp xếp bài viết: mới nhất trước""Items" (list
(dict"Current"true"Href""/posts?sort=newest""Label""Mới nhất")
(dict"Href""/posts?sort=oldest""Label""Cũ nhất")
(dict"Href""/posts?sort=title""Label""Theo tiêu đề"))}}
bulk-bar
Dải đầu của chế độ chọn, thay cho thanh danh sách: số lượng, một liên kết mở rộng lựa chọn, và trình đơn hành động.
Bọc lưới và một bulk-bar trong cùng một biểu mẫu. Mỗi hộp kiểm gửi giá trị Select của ô mình dưới tên "id"; đặt SelectName để đổi tên. Bên trong biểu mẫu, các mục menu phải là liên kết.
pagination
Một dải liên kết thường có đánh số, để việc phân trang vẫn chạy khi tắt JavaScript.
Không có Label, nên tên trợ năng của nav lấy từ danh mục.
empty-state
Thẻ trạng thái trống. Trạng thái trống kèm lối vào cho các bước bắt đầu.
Kèm một lời kêu gọi hành động bằng POST
<divrst-empty>
<h2rst-empty-title>Chưa có gì ở đây</h2>
<prst-empty-body>Chưa có bài viết nào. Bài đầu tiên là điểm khởi đầu tốt.</p>
<formrst-empty-ctamethod="post"action="/posts/seed">
<inputtype="hidden"name="csrf"value="tok-123">
<buttonrst-btn="primary"type="submit">Thêm bài viết mẫu</button>
</form>
</div>
{{template"empty-state"dict"Body""Chưa có bài viết nào. Bài đầu tiên là điểm khởi đầu tốt.""Title""Chưa có gì ở đây""ActionLabel""Thêm bài viết mẫu""PostAction""/posts/seed""Hidden" (list (list"csrf""tok-123"))}}
Chỉ một câu
<divrst-empty>
<prst-empty-body>Bài viết này chưa có bình luận.</p>
</div>
{{template"empty-state"dict"Body""Bài viết này chưa có bình luận."}}