Disclaimer: I am learning
This answers a question, how to create a component that takes v-model prop can pass that prop further down.
v-model='var' is :value='var' @input='new => {var=new}' so it needs to have value prop and emit input event.
But if we want to pass it down we need a localVar which can be mutated because properties can't.
(unless they are objects or arrays which are passed by reference in JS but this should not be abused to not obsucre the flow)
Based on Using v-model on Nested Vue Components you should use: