Composant sélecteur s'ouvrant depuis le bas
Détails techniques :
- Ce composant propose cinq variantes : sélecteur simple, sélecteur multi-colonnes, sélecteur d'heure, sélecteur de date et sélecteur de province-ville-district.
- Le composant doit impérativemant envelopper du contenu, sinon les options ne peuvent pas être affichées.
<wxs module="donnees">
module.exports.listeElements = ['Paris', 'Berlin', 'Londres', 'Washington'];
</wxs>
<!-- Ce sélecteur ne s'ouvrira pas car il n'a pas de contenu à l'intérieur -->
<picker mode="selector" value="0" style="background:#ccc;width:300px;height:100px;" range="{{donnees.listeElements}}">
</picker>
<!-- Ce sélecteur s'ouvrira lors du clic sur le texte qu'il contient -->
<picker mode="selector" value="0" style="background:#f00;width:300px;height:100px;" range="{{donnees.listeElements}}"> <view>Cliquez ici pour ouvrir</view> </picker>
- Sélecteur simple : [Number] – l'indice de l'option sélectionnée, commençant à 0.
- Sélecteur multi-colonnes : [Array] – un tableau contenant les indices de chaque colonne.
- Sélecteur d'heure : [String] – au format hh:mm.
- Sélecteur de date : [String] – au format YYYY-MM-DD.
- Sélecteur province-ville-district : [Array] – au format [nom province, nom ville, nom district].
1. Sélecteur simple : mode="selector"
Prototype :
<picker
mode="selector"
value="[String]"
range="[Array | Object Array]"
range-key="[String]"
disabled="[Boolean]"
bindchange="[EventHandle]"
bindcancel="[EventHandle]"
>
</picker>
Atttributs :
| Nom | Obligatoire | Type | Valeur par défaut | Description |
|---|---|---|---|---|
| mode | oui | [String] | selector | Valeur fixe indiquant un sélecteur simple. |
| range | oui | [Array | Object Array] | [] | Source de données pour les options. Si c'est un Array, chaque élément est une option. Si c'est un Object Array, range-key doit être défini pour spécifier la clé à afficher. |
| range-key | non | [String] | Lorsque range est un Object Array, indique la clé de l'objet à utiliser comme libellé. | |
| value | non | [String] | Valeur par défaut du sélecteur. Représente l'indice de l'option (à partir de 0). Modifiable via JavaScript. | |
| disabled | non | [Boolean] | false | Si true, le composant est désactivé. |
| bindchange | non | [EventHandle] | Événement déclenché lors de la confirmation d'une option. event.detail = {value: value}. | |
| bindcancel | non | [EventHandle] | Événement déclenché lors de l'annulation. |
2. Sélecteur multi-colonnes : mode="multiSelector"
Prototype :
<picker
mode="multiSelector"
value="[Array]"
range="[Array 2D / Object Array 2D]"
range-key="[String]"
disabled="[Boolean]"
bindchange="[EventHandle]"
bindcancel="[EventHandle]"
bindcolumnchange="[EventHandle]"
>
</picker>
Attributs :
| Nom | Obligatoire | Type | Valeur par défaut | Description |
|---|---|---|---|---|
| mode | oui | [String] | multiSelector | Valeur fixe pour le sélecteur multi-colonnes. |
| range | oui | [Array | Object Array] | [] | Source de données sous forme de tableau 2D, où chaque sous-tableau représente une colonne. Exemple : [["a","b"], ["c","d"]]. |
| range-key | non | [String] | Pour les Object Arrays 2D, spécifie la clé à afficher. | |
| value | non | [Array] | [] | Tableau contenant les indices sélectionnés pour chaque colonne (à partir de 0). |
| disabled | non | [Boolean] | false | Si true, le composant est désactivé. |
| bindchange | non | [EventHandle] | Événement déclenché à la confirmation. event.detail = {value: value}. | |
| bindcolumnchange | non | [EventHandle] | Événement déclenché lors du changement d'une colonne. event.detail = {column: column, value: value}. | |
| bindcancel | non | [EventHandle] | Événement déclenché lors de l'annulation. |
3. Sélecteur d'heure : mode="time"
Prototype :
<picker
mode="time"
value="[String]"
start="[String]"
end="[String]"
disabled="[Boolean]"
bindchange="[EventHandle]"
bindcancel="[EventHandle]"
>
</picker>
Attributs :
| Nom | Obligatoire | Type | Valeur par défaut | Description |
|---|---|---|---|---|
| mode | oui | [String] | time | Valeur fixe pour le sélecteur d'heure. |
| start | non | [String] | Heure de début de la plage valide, au format "hh:mm". | |
| end | non | [String] | Heure de fin de la plage valide, au format "hh:mm". | |
| value | non | [String] | Heure sélectionnée, au format "hh:mm". | |
| disabled | non | [Boolean] | false | Si true, le composant est désactivé. |
| bindchange | non | [EventHandle] | Événement déclenché à la confirmation. event.detail = {value: value}. | |
| bindcancel | non | [EventHandle] | Événement déclenché lors de l'annulation. |
4. Sélecteur de date : mode="date"
Prototype :
<picker
mode="date"
start="[String]"
end="[String]"
fields="[day | month | year]"
value="[String]"
disabled="[Boolean]"
bindchange="[EventHandle]"
bindcancel="[EventHandle]"
>
</picker>
Attributs :
| Nom | Obligatoire | Type | Valeur par défaut | Description |
|---|---|---|---|---|
| mode | oui | [String] | date | Valeur fixe pour le sélecteur de date. |
| start | non | [String] | Date de début de la plage valide, au format "YYYY-MM-DD". | |
| end | non | [String] | Date de fin de la plage valide, au format "YYYY-MM-DD". | |
| fields | non | [day | month | year] | day | Granularité de sélection : year (format YYYY), month (format YYYY-MM) ou day (format YYYY-MM-DD). |
| value | non | [String] | Date sélectionnée, au format "YYYY-MM-DD". | |
| disabled | non | [Boolean] | false | Si true, le composant est désactivé. |
| bindchange | non | [EventHandle] | Événement déclenché à la confirmation. event.detail = {value: value}. | |
| bindcancel | non | [EventHandle] | Événement déclenché lors de l'annulation. |
5. Sélecteur province-ville-district : mode="region"
Prototype :
<picker
mode="region"
value="[Array]"
custom-item="[String]"
disabled="[Boolean]"
bindchange="[EventHandle]"
bindcancel="[EventHandle]"
>
</picker>
Attributs :
| Nom | Obligatoire | Type | Valeur par défaut | Description |
|---|---|---|---|---|
| mode | oui | [String] | region | Valeur fixe pour le sélecteur de régions. |
| value | non | [Array] | [] | Tableau de sélection : [province, ville, district]. |
| custom-item | non | [String] | Ajoute un élément personnalisé en haut de chaque colonne (ex : "Tous"). | |
| disabled | non | [Boolean] | false | Si true, le composant est désactivé. |
| bindchange | non | [EventHandle] | Événement déclenché à la confirmation. event.detail = {value: value}. | |
| bindcancel | non | [EventHandle] | Événement déclenché lors de l'annulation. |
Remarques :
- Ce sélecteur affiche trois colonnes : province, ville et district.
- Les données des provinces, villes et districts sont générées automatiquement par le composant, sans nécessité de source externe.