Làm cách nào để nắm bắt chính xác sự kiện change / focusOut khi nhập văn bản trong React.js?


82

Tôi có một biểu mẫu, trong đó tôi muốn xử lý sự kiện thay đổi trên đầu vào văn bản, nhưng React onChange kích hoạt trên phím xuống (ngược lại với JS gốc, kích hoạt sự kiện thay đổi khi trường đầu vào bị mất tiêu điểm ).

cách React nào để làm những gì tôi muốn không?

Câu trả lời:


156

Nếu bạn chỉ muốn kích hoạt xác thực khi đầu vào mất tiêu điểm, bạn có thể sử dụng onBlur

Thông tin bên lề: React <17 lắng nghe blursự kiện và> = 17 lắng nghe focusoutsự kiện.


2
Cảm ơn rất nhiều. Đó là những gì tôi cần. Tôi chỉ không thể tìm thấy điều gì đó về "focusOut" trong React
Alex Suslyakov

sau đó chúng ta không thể sử dụng giá trị bên trong đầu vào đầy phản ứng
Thilina Sampath

Không chắc ý bạn @ThilinaSampath
Dominic

1
Không rõ bạn đang nói gì, bạn sẽ không chỉ định giá trị cho trạng thái bằng cách sử dụng sự kiện onBlur trong trường hợp đầu vào được kiểm soát, bạn sẽ sử dụng onChange cho điều đó, nếu không sẽ không có gì thay đổi khi bạn nhập. Điều này là để kích hoạt xác thực không chỉ định giá trị cho đầu vào: /
Dominic

1
Vâng, bạn sẽ sử dụng onChange để cập nhật giá trị trong cửa hàng, câu hỏi này là về xác nhận. Không có gì ngăn cản bạn sử dụng cả hai sự kiện.
Dominic

6

Đã muộn, nhưng nó không đáng để bạn mất thời gian, có một số khác biệt trong việc triển khai cấp trình duyệt của các sự kiện focusin và focusout và phản ứng tổng hợp onFocus và onBlur. focusin và focusout thực sự bong bóng, trong khi onFocus và onBlur thì không. Vì vậy, không có cách triển khai chính xác giống nhau cho focusin và focusout hiện tại cho phản ứng. Dù sao hầu hết các trường hợp sẽ được đề cập trong onFocus và onBlur.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.