@@ -36,6 +36,7 @@ function AddUnreportedExpense({route}: AddUnreportedExpensePageType) {
3636 const [ errorMessage , setErrorMessage ] = useState < string > ( '' ) ;
3737 const [ offset , setOffset ] = useState ( 0 ) ;
3838 const { isOffline} = useNetwork ( ) ;
39+ const [ selectedIds , setSelectedIds ] = useState ( new Set < string > ( ) ) ;
3940
4041 const { reportID, backToReport} = route . params ;
4142 const [ report ] = useOnyx ( `${ ONYXKEYS . COLLECTION . REPORT } ${ reportID } ` , { canBeMissing : true } ) ;
@@ -136,8 +137,6 @@ function AddUnreportedExpense({route}: AddUnreportedExpensePageType) {
136137 ) ;
137138 }
138139
139- const selectedIds = new Set < string > ( ) ;
140-
141140 return (
142141 < ScreenWrapper
143142 shouldEnableKeyboardAvoidingView = { false }
@@ -154,11 +153,19 @@ function AddUnreportedExpense({route}: AddUnreportedExpensePageType) {
154153 < SelectionList < Transaction & ListItem >
155154 ref = { selectionListRef }
156155 onSelectRow = { ( item ) => {
157- if ( selectedIds . has ( item . transactionID ) ) {
158- selectedIds . delete ( item . transactionID ) ;
159- } else {
160- selectedIds . add ( item . transactionID ) ;
161- }
156+ setSelectedIds ( ( prevIds ) => {
157+ const newIds = new Set ( prevIds ) ;
158+ if ( newIds . has ( item . transactionID ) ) {
159+ newIds . delete ( item . transactionID ) ;
160+ } else {
161+ newIds . add ( item . transactionID ) ;
162+ if ( errorMessage ) {
163+ setErrorMessage ( '' ) ;
164+ }
165+ }
166+
167+ return newIds ;
168+ } ) ;
162169 } }
163170 shouldShowTextInput = { false }
164171 canSelectMultiple
0 commit comments