JSFiddle - React, Tailwind, and code Playground

by spham92

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.min.js"></script>
<script src="https://unpkg.com/vue-bootstrap-typeahead"></script>
<link rel="stylesheet" href="https://unpkg.com/vue-bootstrap-typeahead/dist/VueBootstrapTypeahead.css">

  <div id="app">
  </div>
  <select name="city" id="city">
    <option value="">paris</option>
    <option value="">rennes</option>
    <option value="">nantes</option>
  </select>
  <p>Ville selectionnés</p>

CSS

#wrapper {
  padding-top: 50px;
  width: 400px;
  margin: 0 auto 0 auto;
}

JavaScript

const template = `
<div>
  <vue-bootstrap-typeahead
    v-model.lazy="query"
    :data="countries"
    placeholder="Saisir un pays"
  />
  <p class="lead">
    Pays selectionné: <strong>{{query}}</strong>
  </p>
</div>
`

new Vue({
  template,
  components: {
    VueBootstrapTypeahead
  },
  data() {
    return {
      query: '',
      countries: [
        'France',
        'United States',
        'Mexico'
      ]
    }
  },
  methods: {
  	getVillesParPays : function() {
    	console.log('liste des villes par pays')
    }
  },
  watch: {
    'query': function (newVal, oldVal) { // watch it
      if (newVal.length === 5) {
        this.getVillesParPays()
      }

    }
   },
}).$mount('#app')