Rumah > hujung hadapan web > tutorial js > Merevolusikan Drag-and-Drop dalam React: Memperkenalkan Puck 8

Merevolusikan Drag-and-Drop dalam React: Memperkenalkan Puck 8

DDD
Lepaskan: 2025-01-23 22:40:11
asal
550 orang telah melayarinya

Puck 0.18: Editor Visual Reaksi Generasi Seterusnya Ada!

Bersedia untuk naik taraf besar-besaran! Puck, editor visual sumber terbuka untuk React, baru sahaja melancarkan versi 0.18, menampilkan enjin drag-and-drop revolusioner dengan sokongan Grid CSS dan Flexbox penuh. Ini membuka kunci fleksibiliti reka bentuk yang belum pernah berlaku sebelum ini untuk pembina halaman anda dan aplikasi tanpa kod.

Beri Puck bintang di GitHub! ⭐

Kemas kini ini menghapuskan had sebelumnya, membenarkan pengguna menyeret dan melepaskan mana-mana komponen di mana-mana sahaja pada kanvas. Bayangkan kemungkinannya:

Revolutionizing Drag-and-Drop in React: Introducing Puck 8

Kini, pengguna anda boleh membuat hampir semua reka bentuk yang boleh dibayangkan—semuanya tanpa menulis kod. Tiada lagi kompromi; kebebasan kreatif tulen menanti!

Puck 0.18 bukan sekadar peningkatan; ia adalah satu transformasi kepada alat reka bentuk dalam penyemak imbas yang muktamad. Skala kebolehsuaiannya mengikut keperluan khusus anda, daripada blok peringkat halaman mudah kepada pembina susun atur visual yang sangat berbutir untuk komponen atom. Bina tapak web, editor dokumen, pereka bentuk maklumat—jika ia dibina dengan komponen React, Puck boleh mengendalikannya.

Mari terokai ciri utama:

(Untuk maklumat terperinci, lihat nota keluaran rasmi dan log perubahan.)

Mengemas kini kepada Puck 0.18

Mengemas kini adalah mudah! Untuk projek baharu:

<code class="language-bash">npm install @measured/puck --save</code>
Salin selepas log masuk
Salin selepas log masuk

Untuk projek sedia ada:

<code class="language-bash">npm update @measured/puck</code>
Salin selepas log masuk

Tiada perubahan yang pecah bermakna peralihan yang lancar! ?

Seret dan Lepaskan Bentuk Percuma

Enjin drag-and-drop baharu ialah pengubah permainan. Versi sebelumnya mempunyai had, terutamanya mengehadkan seret dan lepas pada paksi menegak. Walaupun DropZoneAPI membenarkan reka letak berbilang lajur, kedudukan komponen manual adalah menyusahkan.

Revolutionizing Drag-and-Drop in React: Introducing Puck 8

Sekarang, seret dan lepas komponen secara bebas ke mana-mana arah. Puck menyediakan maklum balas visual segera:

Revolutionizing Drag-and-Drop in React: Introducing Puck 8

Menyediakan ini adalah mudah. Gayakan pembungkus DropZone anda sebagai grid atau kotak fleksibel dalam konfigurasi Puck anda:

<code class="language-javascript">  Grid: {
    //... fields configuration
    render: ({ columns }) => (
     <dropzone zone="my-grid"><p>This transforms the DropZone's div into a CSS grid, ensuring automatic alignment.  The same applies to flex containers.</p>

<h3>Advanced CSS Layouts</h3>

Previously, all Puck components were wrapped in a div, hindering direct descendant treatment within CSS grid or flex layouts.  The new `inline` parameter removes this wrapper, enabling expected behavior for rules like `flex-grow` or `grid-column`.

For example, create a customizable card grid using `grid-column` and `grid-row`:

```javascript
Card: {
  //... fields configuration
  inline: true, // Remove default wrapper
  render: ({ spanRow, spanCol, puck }) => {
    return (
      <div>
      </div>
    );
  },
};</code>
Salin selepas log masuk

Pengguna boleh membina reka letak yang canggih dengan melaraskan medan editor:

Revolutionizing Drag-and-Drop in React: Introducing Puck 8

Ini juga berfungsi dengan bekas fleksibel, menghasilkan reka letak responsif:

Revolutionizing Drag-and-Drop in React: Introducing Puck 8

Ini memperkasakan reka letak yang lebih bercita-cita tinggi dan pengalaman interaktif.

Menyeret Antara DropZones

Seret komponen antara mana-mana bekas DropZone! Sebelum ini, penyeretan dihadkan kepada zon yang berkongsi induk yang sama. Sekarang, alihkan komponen dengan lancar antara adik beradik, anak bersarang atau ibu bapa—tiada persediaan tambahan diperlukan.

Revolutionizing Drag-and-Drop in React: Introducing Puck 8

(Gunakan prop allow pada DropZone untuk sekatan komponen.)

Tinggi DropZone Dinamik

DropZones kini melaraskan ketinggian mereka secara dinamik agar sepadan dengan anak-anak mereka, memberikan pratonton pemaparan yang tepat. Konfigurasikan ketinggian pemegang tempat (minEmptyHeight) untuk DropZones kosong untuk mengekalkan reka letak yang konsisten.

<code class="language-bash">npm install @measured/puck --save</code>
Salin selepas log masuk
Salin selepas log masuk

Revolutionizing Drag-and-Drop in React: Introducing Puck 8

Melanjutkan Laci Komponen dengan Grid

Komponen Laci (bar sisi) kini boleh dipaparkan sebagai grid, terima kasih kepada enjin drag-and-drop baharu.

Revolutionizing Drag-and-Drop in React: Introducing Puck 8

Lagi dalam 0.18!

  • Kekunci pintas interaktif (cmd/ctrl i) untuk menogol interaktiviti komponen.
  • Tindakan "Pilih ibu bapa" dalam bar tindakan.
  • Dialih keluar position: fixed daripada reka letak lalai untuk pembenaman apl yang lebih mudah.
  • Komponen <ActionBar.Label> baharu untuk organisasi bar tindakan.

Terokai dokumentasi yang dikemas kini untuk menyelam lebih mendalam!

Pemikiran Penutup

Puck 0.18 ialah usaha komuniti. Terima kasih atas maklum balas dan sumbangan anda! Kongsi ciptaan anda dan berhubung dengan kami di Discord, Bluesky dan X. Dan jangan lupa berikan kami ? di GitHub! Mari lihat apa yang anda bina seterusnya! ?

Atas ialah kandungan terperinci Merevolusikan Drag-and-Drop dalam React: Memperkenalkan Puck 8. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan