項目遇到這樣的需求:
表單詳情中的重要信息需要彈出框輸入用戶密碼才可以查看,那編輯的時候自然也是需要同樣的操作的,不然這功能就沒有意義,但是編輯的時候如何給密碼框的切換按鈕加事件呢?

image.png

image.png
看了文檔密碼框只有兩個可配屬性,如下圖:

image.png
我第一反應(yīng)是做不到的,切換的事件并沒有暴露出來,但是仔細看iconRender api參數(shù)visible,感覺有一絲希望;就把它作為切入點,只要在visible=true的時候執(zhí)行彈出密碼的操作即可:
首先想到的是給<EyeInvisibleOutlined />添加onClick事件,但是發(fā)現(xiàn)根本不會執(zhí)行,查看源碼

image.png
onClick應(yīng)該是被劫持了,那只能另辟蹊徑:自己寫一個組件,包含驗證密碼的彈框和<EyeInvisibleOutlined />圖標,默認展示的是圖標,監(jiān)聽圖標的onClick,密碼驗證成功再執(zhí)行密碼框的onVisibleChange(也就是我自己寫的組件暴露一個onClick方法給密碼框),代碼如下:

image.png

image.png
其實關(guān)鍵點就是暴露一個onClick給密碼框。