Atteso: una volta premuto il pulsante, i tag per lâargomento vengono impostati su my-tag (funziona), il che innesca un re-render del pulsante e lo disabilita.
Atteso: una volta aggiunto manualmente il tag, il pulsante viene disabilitato.
RealtĂ : il re-render non viene innescato in nessuno dei due scenari.
Il pulsante è correttamente disabilitato/abilitato al refresh della pagina.
Avere una proprietĂ calcolata che dipende da topic.tags causerĂ la sua invalidazione quando lâarray stesso viene sostituito. Ma non causerĂ lâinvalidazione quando elementi vengono aggiunti/rimossi dallâarray.
Quindi penso che probabilmente desideri topic.tags.@each (docs).
In generale stiamo cercando di allontanarci dalle proprietĂ calcolate e di avvicinarci ai getter nativi/autotracking. Immagino che dovremo modernizzare lâAPI di topic-footer-buttons a un certo punto per supportare questo
Tuttavia, lâuso di topic.tags.@each non risolve questo problema⌠(in ogni caso, nĂŠ quando il tag viene aggiunto manualmente, nĂŠ quando viene premuto il pulsante).
Un console.log nella funzione disabled() non viene eseguito. Non viene eseguito nemmeno in displayed().
Ho anche provato this.topic.notifyPropertyChange("tags");
E sono anche disperato e ho provato a manipolare altre proprietĂ (come this.topic.title = this.topic.title + "!" e includendo topic.title in dependentKeys). Anche questo non funziona. Usare this.topic.set... non funziona neanche.
Ă interessante notare che, se copio/incollo il tuo esempio dallâOP ed eseguo localmente, sembra funzionare perfettamente:
Ci sono altri temi/plugin che potrebbero interferire? O forse qualcosa di diverso nel tuo codice ârealeâ, rispetto allâesempio minimale nellâOP?
Il mio codice âminimaleâ nellâOP è il mio codice ârealeâ al momento. Lo sposterò in unâinstallazione completamente pulita e vedrò se questo cambia qualcosa.
MODIFICA sĂŹ, funziona su unâinstallazione pulita
Rimuoverò questo argomento dallâelenco in modo da non dover convivere con la vergogna
Vi aggiornerò quando scoprirò cosa stava causando questo problema.