如何最好地处理自定义字段默认值和类别设置日志

是的,这确实棘手。我猜大多数插件都不会遇到这个问题,因为它们类别设置的“默认值”是 null。

你是否有一个核心 API 更改的想法,可以帮助改善这种情况?

完全未经测试,但我认为我们可以通过使用原始 HTML 输入字段(注意是小写的 input 而不是 Ember 的双向绑定 \u003cInput 组件)来立即实现一些功能。

<input
  value={{or category.custom_fields.my_field "default value"}}
  {{on "change" this.updateMyFieldValue}}
/>

有了这个策略,我们就可以控制如何从模型实例读取/写入值。因此,如果 UI 中的值设置为默认值,我们可以将其作为“null”写入自定义字段:

@action
updateMyFieldValue(event){
  let newValue = event.target.value;
  if(newValue === "default value"){
    newValue = null;
  }

  this.category.set("custom_fields.my_field", newValue);
}

(然后你就可以移除你在 OP 的 (1) 中描述的默认值配置)