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. 

Contatore
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

  1. Creare un'app Blocks vuota
  2. Se l'app non è stata creata con un widget predefinito, aggiungine uno alla tua app 

Passaggio 2 | Aggiungi un Layouter

Un Layouter è un contenitore che consente la reattività. Manterrà organizzati gli altri elementi. Per aggiungere un Layouter: 
  1. Clicca su Aggiungi elementi add nel menu in alto 
  2. Clicca su Layout ->  Contenitori -> Layouter
  3. Clicca sul layouter verticale a 3 sezioni 

Passaggio 3 | Aggiungi elementi al widget

Aggiungi dei tasti

  1. Clicca su Aggiungi elementi add nel menu in alto 
  2. Clicca su Tasti 
  3. Trascina e rilascia un tasto nella sezione destra del Layouter
4. Clicca su Modifica testo e icona 
5. Seleziona Solo testo dall'elenco a tendina 
6. Modifica il testo in "+"
7. Clicca sul Design design icon nel pannello Ispezione inspector 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 "-"

Aggiungi il numero centrale

  1. Clicca su Aggiungi elementi add e seleziona Testo
  2. Trascina un elemento Titolo da 32 px nella sezione centrale del Layouter 
  3. Modifica il testo in "0" e allinealo al centro 

Modifica gli ID

  1. Clicca su Proprietà ed eventi properties and events in basso a destra dello schermo  
  2. Modifica l'ID del tasto per incrementare in incBtn
  3. Cambia l'ID del tasto per ridurre in decBtn
  4. Modifica l'ID del tuo elemento di testo in countTxt

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 
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"

  1. Clicca su Widget API widget api per aprire il pannello Widget API
  2. Clicca su Aggiungi nuova proprietà nella sezione Proprietà (o passa il mouse sulla sezione e clicca sul add che appare)
3. Dai un nome "step", assegnagli il tipo Numero e un valore predefinito di 1 

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

  1. Clicca su Anteprima per passare alla modalità anteprima 
  2. Clicca su Test delle proprietà API 
3. Modifica lo step con un numero diverso e guarda come funziona 

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:
  1. Clicca su Widget API widget api per aprire il pannello Widget API 
  2. Clicca su Aggiungi un nuovo evento pubblico nella sezione Eventi (o passa il mouse sulla sezione e clicca sul add che appare) 
  3. Dai un nome e descrivilo
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. 
  1. Clicca su Widget API widget api per aprire il pannello Widget API 
  2. Clicca su Aggiungi una nuova funzione pubblica nella sezione Funzioni (o passa il mouse sulla sezione e clicca sul add che appare) 
  3. 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 
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.
Imposta un nome visualizzato per gli elementi del widget: 
  1. Seleziona il tasto di decremento.
  2. Modifica il nome visualizzato in Nome dell'elemento in "Decremento" nel pannello Ispezione inspector 
Per impedire che l'elemento di testo sia selezionabile nell'Editor: 
  1. Seleziona l'elemento di testo che rappresenta il tuo conteggio 
  2. Clicca sull'opzione Può essere selezionato nella sezione Comportamento nel pannello Ispezione inspector  per rimuovere il segno di spunta blu 

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: 
  1. Clicca sulla scheda Design nel menu  
  2. Clicca su + Aggiungi preset di design + nella sezione Design predefiniti del pannello Design sotto Struttura app app structure.
  3. Clicca sull'icona >   per rinominare il preset (puoi anche duplicarlo o eliminarlo) 
4. Apporta alcune modifiche visibili nel widget, come la modifica del colore della sezione centrale
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:
  1. Installa la tua app widget 
  2. Attiva le modalità avanzate (Sviluppatori)
  3. Clicca sull'icona Proprietà ed eventi
  4. Modifica l'ID del tuo widget, ad esempio, in "contatore1"
  5. Clicca su Modifica( ) sotto Gestori evento
  6. Seleziona Counter1_change nella casella
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?

|