Tutorial Wix Blocks: creare un widget contatore
Tempo di lettura: 12 min.
Wix Blocks è aperto a tutti gli utenti di Wix Studio. Per ottenere l'accesso a Blocks, iscriviti a Wix Studio.
Questo tutorial mostra come creare un widget contatore, in cui puoi aumentare e diminuire un numero. Tramite questo semplice widget illustreremo tutto ciò che puoi fare con Wix Blocks.
Ti consigliamo di creare questo widget da zero, ma se hai difficoltà, puoi visualizzare un template del widget in Blocks sotto il tuo account Wix.
Passaggio 1 | Crea un nuovo Widget in Blocks
- Creare un'app Blocks vuota
- Se l'app non è stata creata con un widget predefinito, aggiungine uno alla tua app
Mostra screenshot
Passaggio 2 | Aggiungi un Layouter
Un Layouter è un contenitore che consente la reattività. Manterrà organizzati gli altri elementi. Per aggiungere un Layouter:
- Clicca su Aggiungi elementi nel menu in alto
- Clicca su Layout -> Contenitori -> Layouter
- Clicca sul layouter verticale a 3 sezioni
Mostra screenshot
Passaggio 3 | Aggiungi elementi al widget
Aggiungi dei tasti
- Clicca su Aggiungi elementi nel menu in alto
- Clicca su Tasti
- Trascina e rilascia un tasto nella sezione destra del Layouter
Mostra screenshot
4. Clicca su Modifica testo e icona
5. Seleziona Solo testo dall'elenco a tendina
6. Modifica il testo in "+"
7. Clicca sul Design nel pannello Ispezione e seleziona Testo
8. Clicca su Temi e seleziona Titolo 6 dall'elenco a tendina
9. Trascina e rilascia un altro tasto quadrato nella sezione a sinistra
10. Modifica il testo in "-"
Mostra screenshot
Aggiungi il numero centrale
- Clicca su Aggiungi elementi e seleziona Testo
- Trascina un elemento Titolo da 32 px nella sezione centrale del Layouter
- Modifica il testo in "0" e allinealo al centro
Mostra screenshot
Modifica gli ID
- Clicca su Proprietà ed eventi in basso a destra dello schermo
- Modifica l'ID del tasto per incrementare in incBtn
- Cambia l'ID del tasto per ridurre in decBtn
- Modifica l'ID del tuo elemento di testo in countTxt
Mostra screenshot
Passaggio 4 | Aggiungi codice ai tuoi elementi
Ora è il momento di fare in modo che il widget faccia quello che dovrebbe fare: conto avanti e indietro quando si clicca sui tasti.
1. Clicca sulla scheda Codice o vai nella parte inferiore dello schermo per aggiungere un codice al widget
Mostra screenshot
2. Aggiungi il seguente codice prima della tua funzione onReady()
1//Set the count to 0
2let count = 0;
3
4//Assign the count to your text element
5function render() {
6 $w('#countTxt').text = count.toString();
7}
8
9//Add a certain amount to the count and fire an event in the widget API
10function addToCount(amount) {
11 count += amount;
12 render();
13}
3. Aggiungi il seguente codice nella tua funzione onReady()
1 $w('#incBtn').onClick(() => {
2 addToCount(1);
3 });
4
5 $w('#decBtn').onClick(() => {
6 addToCount(-1);
7 });
8
9 render();
4. Clicca sul tasto Anteprima per vedere il widget in azione
Passaggio 5 | Rendi il tuo widget personalizzabile con l'API Widget
Puoi definire un'API per il tuo widget, in modo che l'utente (il proprietario del sito che installa il widget) possa personalizzarlo in base alle proprie esigenze. L'API può contenere proprietà, eventi e funzioni esportate.
Supponiamo che tu voglia che sia il proprietario del sito a decidere quale sia lo "step" del conteggio. Forse vogliono che lo step sia 2, in modo che il conteggio sia 0,2,4,6 ecc.
Puoi definire una proprietà nell'API del widget chiamata "step" e consentire all'utente di personalizzarla.
Definisci la proprietà "step"
- Clicca su Widget API per aprire il pannello Widget API
- Clicca su Aggiungi nuova proprietà nella sezione Proprietà (o passa il mouse sulla sezione e clicca sul che appare)
Mostra screenshot
3. Dai un nome "step", assegnagli il tipo Numero e un valore predefinito di 1
Mostra screenshot
Cambia il tuo codice per prendere in considerazione la tua nuova proprietà
Modifica il codice in modo che quando si clicca sui tasti, addToCount venga chiamato con lo step dalle proprietà invece che con il valore predefinito di 1.
Usa $widget.props per accedere alle tue proprietà (nota i suggerimenti di Velo per il completamento automatico).
1$w.onReady(function () {
2 $w('#incBtn').onClick(() => {
3 addToCount($widget.props.step);
4 });
5 $w('#decBtn').onClick(() => {
6 addToCount(-$widget.props.step);
7 });
8
9 render();
10});
Prova la tua proprietà in modalità anteprima
- Clicca su Anteprima per passare alla modalità anteprima
- Clicca su Test delle proprietà API
Mostra screenshot
3. Modifica lo step con un numero diverso e guarda come funziona
Mostra screenshot
Aggiungi un evento pubblico al tuo Widget API
L'API del widget ti consente di aggiungere un evento che viene attivato ogni volta che lo desideri.
Aggiungi un evento che viene attivato quando la variabile "count" cambia:
- Clicca su Widget API per aprire il pannello Widget API
- Clicca su Aggiungi un nuovo evento pubblico nella sezione Eventi (o passa il mouse sulla sezione e clicca sul che appare)
- Dai un nome e descrivilo
Mostra screenshot
4. Aggiungi questa riga alla funziona addToCount (), per attivare l'evento quando il conteggio cambia
1$widget.fireEvent('change', count);
5. Ora, la tua funzione addToCount() dovrebbe assomigliare a questa:
1function addToCount(amount) {
2 count += amount;
3 render();
4 $widget.fireEvent('change', count);
5}
Controlla il tuo evento nell'Editor del sito
Dovrai vedere il tuo evento nell'Editor del sito dopo aver installato il widget nel tuo sito web (questo sarà descritto nel passaggio 8).
Aggiungi una funzione pubblica al tuo Widget API
Crea ed esporta una funzione reset(), in modo che i proprietari dei siti possano facilmente impostare il conteggio su 0.
- Clicca su Widget API per aprire il pannello Widget API
- Clicca su Aggiungi una nuova funzione pubblica nella sezione Funzioni (o passa il mouse sulla sezione e clicca sul che appare)
- Viene creata una nuova funzione vuota con il nome predefinito foo(), con un JSDoc designato (il blocco dei commenti) che può essere letto da chiunque utilizzi la tua funzione su un sito
Mostra screenshot
4. Incolla il seguente codice invece del codice predefinito della funzione:
1export function reset(){
2 //This function is part of my public API
3 count = 0;
4 render();
5}
5. Aggiorna il JSDoc Nota: è necessario mantenere le annotazioni della funzione in questo formato
1/**
2*@function
3*@description Sets count to 0 and renders.
4*@returns nothing
5*/
Suggerimento
Puoi anche fare il contrario. Qualsiasi funzione esportata con il JSDoc corretto sopra, apparirà nel pannello Widget API sulla destra. Quindi, puoi scrivere il tuo codice direttamente, invece di ricevere il template cliccando su Aggiungi una nuova funzione pubblica.
Passaggio 6 | (Facoltativo) Configura il comportamento del widget in fase di modifica
La scheda Configurazione consente di determinare il comportamento del widget e dei suoi elementi quando il proprietario di un sito lo modifica nell'editor. Prova alcune opzioni nella scheda Configurazione.
Mostra screenshot
Imposta un nome visualizzato per gli elementi del widget:
- Seleziona il tasto di decremento.
- Modifica il nome visualizzato in Nome dell'elemento in "Decremento" nel pannello Ispezione
Mostra screenshot
Per impedire che l'elemento di testo sia selezionabile nell'Editor:
- Seleziona l'elemento di testo che rappresenta il tuo conteggio
- Clicca sull'opzione Può essere selezionato nella sezione Comportamento nel pannello Ispezione per rimuovere il segno di spunta blu
Mostra screenshot
Passaggio 7 | (Facoltativo) Crea più design predefiniti
Blocks ti consentono di creare varie varianti per il design e il layout del widget, attraverso design predefiniti Per creare un altro design predefinito:
- Clicca sulla scheda Design nel menu
- Clicca su + Aggiungi preset di design + nella sezione Design predefiniti del pannello Design sotto Struttura app
- Clicca sull'icona >
per rinominare il preset (puoi anche duplicarlo o eliminarlo)
Mostra screenshot
4. Apporta alcune modifiche visibili nel widget, come la modifica del colore della sezione centrale
Mostra screenshot
Spostati avanti e indietro tra i preset per vedere le differenze.
Modifiche del preset o modifiche globali
Tieni presente che alcune modifiche al design e al layout influiscono solo sul preset attuale, mentre altre influiscono su tutti . Per saperne di più
Passaggio 8 | Controlla il tuo evento nell'Editor del sito
Importante
Questo passaggio si svolge nell'Editor Wix o nell'Editor Studio, non in Blocks.
Vai all'Editor del sito per seguire l'evento dalla tua app. Per prima cosa devi registrare un gestore eventi per l'evento di modifica:
- Installa la tua app widget
- Attiva le modalità avanzate (Sviluppatori)
- Clicca sull'icona Proprietà ed eventi
- Modifica l'ID del tuo widget, ad esempio, in "contatore1"
- Clicca su Modifica( ) sotto Gestori evento
- Seleziona Counter1_change nella casella
Mostra screenshot
Ora scrivi la funzione Ottiene 'count' come parametro e azzera il conteggio quando arriva a qualsiasi numero tu decida (nel nostro esempio: 30). La tua funzione dovrebbe apparire così:
1export function counter1_change({data: count}) {
2 // This function was added from the Properties & Events panel. To learn more, visit http://wix.to/UcBnC-4
3 // Add your code for this event here:
4 if (count > 30) {
5 $w('#counter1').reset();}
6}
Guarda l'anteprima o pubblicala per vedere il tuo sito in azione.
Hai trovato utile questo articolo?
|