نعم هذا صعب. أفترض أن معظم الإضافات لا تواجه هذا لأن “الافتراضي” الخاص بها لإعداد الفئة هو قيمة فارغة.
هل كانت لديك فكرة لتغيير واجهة برمجة التطبيقات الأساسية يمكن أن يساعد في تحسين الوضع؟
غير مختبرة تمامًا، لكن أعتقد أنه قد يكون بإمكاننا تحقيق شيء ما الآن باستخدام حقل إدخال HTML خام (لاحظ حرف input الصغير بدلاً من المكون \u003cInput المرتبط ثنائي الاتجاه في Ember).
<input
value={{or category.custom_fields.my_field "default value"}}
{{on "change" this.updateMyFieldValue}}
/>
مع هذه الاستراتيجية، لدينا تحكم في كيفية قراءة القيم وكتابتها إلى مثيل النموذج. لذا، إذا تم تعيين قيمة إلى الافتراضي في واجهة المستخدم، فيمكننا كتابتها كـ “null” في الحقول المخصصة:
@action
updateMyFieldValue(event){
let newValue = event.target.value;
if(newValue === "default value"){
newValue = null;
}
this.category.set("custom_fields.my_field", newValue);
}
(ثم ستقوم بإزالة تكوين القيمة الافتراضية الذي وصفته في (1) من المنشور الأصلي)