صف الخلل
Datagrid: يتم تعيين Palaceholder على NaN.000 بعد النقر في الحقل الفارغ
لإعادة إنتاج
خطوات إعادة إنتاج السلوك:
سلوك متوقع
يجب أن يظهر العنصر النائب
إصدار
4.530 - بيتا - IDS
لقطات
برنامج
جميع المتصفحات الرئيسية ونظام التشغيل
سياق إضافي
غير متاح
@ Jah25 ربما كان ينبغي أن
المنسق: placeholder and editor: المدخلات على الأرقام هنا:
https://github.com/infor-design/enterprise/blob/main/app/views/components/datagrid/example-placeholder.html#L71
نظرًا لأن هذه هي المشكلة الأولى ، أعتقد أنها ربما تكون معقدة بعض الشيء لتبدأ بها (آسف من جانبي). لكن يمكنني رؤية الإصلاح الذي سيكون في https://github.com/infor-design/enterprise/blob/main/src/components/datagrid/datagrid.js#L10434
تحاول وظيفة coerveValue إعادة البيانات إلى تنسيق المصدر fx (الرقم في هذه الحالة). أعتقد أنه سيكون من الآمن استبعاد NaN هنا. لذلك ربما يظهر NaN فارغًا
// coerced value may be coerced to empty string, null, or 0
if (coercedVal === undefined && Number.isNaN(value)) {
coercedVal = value;
}
شيء على هذا المنوال. لكن مجرد تلميح. إنني ألاحظ أن هذا المثال غريب بعض الشيء ، لذا ربما نقوم بإصلاح هذا بسرعة والمضي قدمًا.
HTH
tmcconechy يا تيم لقد رأيت هذا للتو. نعم ، لقد استغرق الأمر القليل من المطاردة للعثور عليه ، لكنني وجدت أيضًا أن الإكراه كان هو المشكلة على الرغم من أنني مررت عبرها هنا حيث يتم التحقق من الإكراه مقابل القيمة القديمة لتحديد نوع البيانات الذي يجب أن يفرضه أيضًا
https://github.com/infor-design/enterprise/blob/main/src/components/datagrid/datagrid.js#L10372
كان إصلاحي سيكون شيئًا كهذا
let isWord = /[A-Za-z!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]]/
...
else if (typeof oldVal === 'number' && value && isWord.test(value) ) {
newVal = Locale.parseNumber(value); // remove thousands sep , keep a number a number
}
لا أعتقد أنها حماية مثالية ولكنها تغطي عددًا قليلاً من حالات الحافة ، هل تريد المضي قدمًا في التغيير أو إصلاح المثال؟
@ Jah25 التي تبدو وكأنها يجب أن تعمل. دعنا نعطيها محاولة