Earlier quoted context omitted.
Nothing you describe is easier solved with Vue then with a templating engine. You can have a "DropdownMenu" template, feed it the data (which you call "state") and update the according element on screen just fine.
What do you mean by 'templating engine'. Give me a specific example. Templating engines to me are like handlebars... do you have a sample code example?
document.querySelector('#carsDropdown').innerHTML=droppy(cars);
Where droppy is a HandleBars template that on page load has been initialized with the html that makes your fancy dropdown menu.