If you use {{self}} in events, it means different things in component "value" and "only run when".
Ideally, {{self.value}} in change event would be the value of the input field the event is tied to. In this instance, it's the value of the component I want to change the value of based on the change event / value of the input field. Which render {{self}} useless as you still need to type out the component name.
E.g. the two self's below mean completely different things, and it's so easy to mess it up:
In the Value field: self.value = value of report_date
In the Only Run when field: self.value = value of the input component that triggered the change event