Oui, c’est délicat. Je suppose que la plupart des plugins ne rencontrent pas ce problème car leur ‘valeur par défaut’ pour le paramètre de catégorie est une valeur nulle.
Aviez-vous une idée de changement d’API principal qui pourrait aider à améliorer la situation ?
Totalement non testé, mais je pense que nous pourrions peut-être y parvenir dès maintenant en utilisant un champ de saisie HTML brut (notez input en minuscules au lieu du composant \u003cInput à double liaison d’Ember).
<input
value={{or category.custom_fields.my_field "valeur par défaut"}}
{{on "change" this.updateMyFieldValue}}
/>
Avec cette stratégie, nous avons le contrôle sur la façon dont les valeurs sont lues/écrites dans l’instance du modèle. Ainsi, si une valeur est définie sur la valeur par défaut dans l’interface utilisateur, nous pouvons l’écrire comme ‘null’ dans les champs personnalisés :
@action
updateMyFieldValue(event){
let newValue = event.target.value;
if(newValue === "valeur par défaut"){
newValue = null;
}
this.category.set("custom_fields.my_field", newValue);
}
(et ensuite vous supprimeriez la configuration de la valeur par défaut que vous avez décrite dans (1) de l’OP)