Vue
by GuyNachshon
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/3.2.33/vue.cjs.js"></script>
<div id="app">
<div class="user-input">
<input type="text" v-model="userInput"/>
{{userInput}}
</div>
<div class="tag-modal" v-if="isTag">{{computedSearchQuery}}</div>
</div>
CSS
body {
background: #20262E;
padding: 20px;
font-family: Helvetica;
}
#app {
background: #fff;
border-radius: 4px;
padding: 20px;
transition: all 0.2s;
}
.tag-modal {
width: 100px;
height: 100px;
background: green;
}
Vue
new Vue({
el: "#app",
data: {
isTag: false,
userInput: ""
},
watch: {
userInput: {
handler() {
if (userInput.startsWith("@")) {
this.isTag = true;
// implement logic...
}
}
}
},
computed: {
computedSearchQuery() {
// will return search results
return null
}
}
})