Skip to content

SPressButton <s-press-button> ​

Một nút bật/tắt giữ trạng thái được nhấn hoặc không, dùng để bật và tắt một chế độ hoặc bộ lọc. SPressButton là Vue 3 wrapper có type cho web component <s-press-button> của Shopify Polaris.

ts
import { SPressButton } from 'polaris-vue-elements'

Ví dụ ​

SecondaryTertiaryDisabled
vue
<script setup>
import { ref } from 'vue'
import { SPressButton } from 'polaris-vue-elements'

const pressed = ref(false)
</script>

<template>
  <!-- SPressButton is a toggle-style button (aria-pressed) — pressed/defaultPressed
       control the on/off state instead of a click counter. -->
  <SPressButton icon="star" accessibilityLabel="Favorite" :pressed="pressed" @click="pressed = !pressed" />
  <SPressButton variant="secondary">Secondary</SPressButton>
  <SPressButton variant="tertiary">Tertiary</SPressButton>
  <SPressButton disabled>Disabled</SPressButton>
</template>

Props ​

PropKiểuMô tả
accessibilityLabelstringNhãn mô tả mục đích hoặc nội dung của Button. Nhãn sẽ được đọc cho người dùng công nghệ hỗ trợ như trình đọc màn hình. Dùng nhãn này khi chỉ dùng icon hoặc khi văn bản của Button không đủ ngữ cảnh cho người dùng công nghệ hỗ trợ.
defaultPressedbooleanNút có ở trạng thái được nhấn theo mặc định hay không.
disabledbooleanVô hiệu hóa Button, nghĩa là không thể nhấp hoặc nhận focus.
icon"color" | "info" | "adjust" | "affiliate" | "airplane" | "alert-bubble" | "alert-circle" | "alert-diamond" … (553 more)Loại icon hiển thị trong Button.
inlineSize"auto" | "fill" | "fit-content"Chiều rộng inline hiển thị của Button. - auto: kích thước của nút phụ thuộc vào bề mặt và ngữ cảnh. - fill: nút sẽ chiếm 100% kích thước inline khả dụng. - fit-content: nút sẽ chiếm kích thước inline tối thiểu cần thiết để vừa nội dung.
langstringChỉ định ngôn ngữ của văn bản. Hữu ích khi văn bản có ngôn ngữ khác với phần còn lại của trang. Điều này cho phép các công nghệ hỗ trợ như trình đọc màn hình phát âm đúng. Tham khảo các giá trị (nhãn "subtag")
loadingbooleanThay nội dung bằng chỉ báo đang tải trong khi một hành động chạy nền đang được thực hiện. Điều này cũng vô hiệu hóa Button.
pressedbooleanNút có đang ở trạng thái được nhấn hay không.
tone"neutral"Đặt tone của Button dựa trên mục đích của thông tin được truyền tải.
variant"secondary" | "tertiary"Thay đổi giao diện trực quan của Button.

Một số cột kiểu ở trên đã được rút gọn cho dễ đọc; union đầy đủ có trong type TypeScript được generate của thư viện (src/lib/generated/types.ts).

Events ​

EventKiểu
blurFocusEvent
clickMouseEvent
focusFocusEvent

Lắng nghe các event này bằng listener dạng @blur trên <SPressButton>.

Slots ​

SlotMô tả
defaultNội dung của PressButton.

Phát hành theo giấy phép MIT. Logo Vue của Evan You, CC BY-NC-SA 4.0.