Jelaskan bugnya
Datagrid: Palaceholder diatur ke NaN.000 setelah mengklik di bidang kosong
Untuk Mereproduksi
Langkah-langkah untuk mereproduksi perilaku:
Perilaku yang diharapkan
Placeholder harus menunjukkan
Versi: kapan
4.530 - beta - IDS
Tangkapan layar
Platform
Semua browser & OS utama
Konteks tambahan
T/a
@ Jah25 Mungkin seharusnya mengarahkan Anda ke tempat yang tepat karena datagrid agak gila. Tapi saya pikir masalahnya adalah kita menggunakan:
formatter: placeholder dan editor: masukkan angka di sini:
https://github.com/infor-design/enterprise/blob/main/app/views/components/datagrid/example-placeholder.html#L71
Karena ini adalah masalah pertama, saya pikir ini mungkin sedikit rumit untuk memulai (maaf di pihak saya). Tetapi saya dapat melihat perbaikan yang ada di https://github.com/infor-design/enterprise/blob/main/src/components/datagrid/datagrid.js#L10434
Fungsi coerveValue mencoba mengembalikan data dalam format sumber fx (angka dalam kasus ini). Saya pikir akan aman untuk mengecualikan NaN di sini. Jadi mungkin NaN itu hanya menunjukkan kosong
// coerced value may be coerced to empty string, null, or 0
if (coercedVal === undefined && Number.isNaN(value)) {
coercedVal = value;
}
Sesuatu di sepanjang garis itu. Tapi hanya sebuah petunjuk. Saya perhatikan contoh ini agak aneh juga jadi mungkin kita perbaiki ini dengan cepat dan lanjutkan.
HTH
@tmcconechy Hei Tim, saya baru saja melihat ini. Ya, butuh sedikit pengejaran untuk menemukannya, tetapi saya juga menemukan bahwa paksaan adalah masalahnya meskipun saya menemukannya di sini di mana paksaan itu memeriksa nilai lama untuk menentukan tipe data yang harus dipaksakan juga
https://github.com/infor-design/enterprise/blob/main/src/components/datagrid/datagrid.js#L10372
perbaikan saya akan menjadi seperti ini
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
}
Saya tidak berpikir itu perlindungan yang sempurna tetapi mencakup beberapa kasus tepi lagi, apakah Anda ingin melanjutkan dengan perubahan atau contoh perbaikan?
@ Jah25 yang terdengar seperti itu harus bekerja. Mari kita coba