Sì, questo è complicato. Suppongo che la maggior parte dei plugin non incontri questo problema perché il loro ‘default’ per l’impostazione della categoria è un valore nullo.
Avevi un’idea per una modifica dell’API principale che potrebbe aiutare a migliorare la situazione?
Totalmente non testato, ma penso che potremmo riuscire a fare qualcosa in questo momento utilizzando un campo di input HTML grezzo (nota la input minuscola invece del componente \u003cInput a doppio binding di Ember).
<input
value={{or category.custom_fields.my_field "valore predefinito"}}
{{on "change" this.updateMyFieldValue}}
/>
Con questa strategia, abbiamo il controllo su come i valori vengono letti/scritti nell’istanza del modello. Quindi, se un valore viene impostato sul valore predefinito nell’interfaccia utente, possiamo scriverlo come ‘null’ nei campi personalizzati:
@action
updateMyFieldValue(event){
let newValue = event.target.value;
if(newValue === "valore predefinito"){
newValue = null;
}
this.category.set("custom_fields.my_field", newValue);
}
(e quindi rimuoveresti la configurazione del valore predefinito che hai descritto in (1) dell’OP)