Langkau ke kandungan

Item & Interaksi ​

Dua komponen sokongan membawa sifat yang dikongsi oleh kebanyakan widget. Kedua-duanya tidak mendaftarkan primitif — ia dilampirkan kepada entiti yang menggunakannya, dan primitif widget memetakan atribut width, height, margin, key dan sebagainya kepadanya.

KomponenPrimitifPenerangan
sxr-item<none>Digunakan oleh komponen lain untuk sifat umum seperti tinggi dan lebar
sxr-interactable<none>Digunakan oleh komponen lain untuk menentukan tingkah laku onclick

Komponen sxr-item ​

Dimensi, kedalaman, margin dan serong bersama.

SifatPeneranganNilai Lalai
typePengecam jenis widget''
widthLebar item1
heightTinggi item1
baseDepthKedalaman tapak item0.01
depthKedalaman item0.02
gapJarak antara item dengan tapak0.025
radiusJejari bucu tapak item0
marginMargin di sekeliling item0 0 0 0
bevelJika true, serong item diaktifkanfalse
bevelSegmentsSegmen serong item5
stepsLangkah serong item2
bevelSizeSaiz serong item0.1
bevelOffsetOfset serong item0
bevelThicknessKetebalan serong item0.1

margin ialah vec4 dan mengikut turutan singkatan CSS (atas, kanan, bawah, kiri).

Baca nilai semasa ketika masa jalan dengan pembantu SXR.getItem, yang menggunakan nilai lalai terdokumen ini apabila widget diletakkan pada entiti biasa.

Komponen sxr-interactable ​

Panggil balik klik/hover dan pendaftaran pintasan papan kekunci.

SifatPeneranganNilai Lalai
clickActionNama fungsi global yang dipanggil semasa klik
hoverActionNama fungsi global yang dipanggil semasa hover
keyKekunci pintasan teks yang mengaktifkan widget (cth. e)
keyCodeKekunci pintasan angka lama (cth. 32 untuk Space)-1

Daftar papan kekunci ​

Satu pendengar keydown pada peringkat window mengagihkan peristiwa kepada semua tika sxr-interactable yang berdaftar, menggantikan pendengar tangkapan global bagi setiap widget. Pendengar dilampirkan pada pendaftaran pertama dan disingkirkan apabila tika terakhir dinyahdaftarkan.

  • Semua widget yang diikat kepada kekunci sama akan diaktifkan — ikat kekunci berbeza bagi setiap widget.
  • Pintasan diabaikan apabila pengguna menaip pada permukaan boleh sunting, semasa komposisi IME dan bagi tekanan kekunci berulang automatik.
  • key berfungsi secara bebas daripada keyCode angka lama.
  • Apabila kekunci pintasan widget sepadan dengan tekanan kekunci yang difokuskan, widget melangkau pengendalian Enter/Space fokusnya sendiri untuk mengelakkan pengaktifan berganda.

Pengaktifan pintasan mengeluarkan peristiwa click dengan butiran source: 'keyboard', bersama key dan keyCode:

js
document.querySelector('a-sxr-button').addEventListener('click', (e) => {
  console.log(e.detail.source) // 'keyboard'
  console.log(e.detail.key)     // 'e'
})

Kaedah tika ​

KaedahTujuan
matchesEvent(event)Benar apabila key / keyCode bagi tika ini sepadan dengan peristiwa
setClickAction(action)Ikat semula nama panggil balik klik