You can do this by using an NPE, just create an NPE and add an attribute of enum( approve, reject),
Now place a dataview(source: microflow) of that NPE above your listview, which contains the approve or reject button, Now apply a conditional visibility on the buttons accordingly, Now apply an onchange event,
which calls a microflow and in that microflow, change your status and NPE status to approved or rejected and refresh the NPE object, as soon as you do it, the NPE enum will be changed to approved or rejected and conditional visibility will come into play,
and your respective button will be hidden,
Hope it helps!