Topic: Bind select to vue
                  
                  peter.andreasson
                  pro
                  asked 7 years ago
                
<div id="select_test">
  <select class="mdb-select" v-model="selected" v-on:change="onChange">
    <option v-for="item in options" v-bind:value="item">{{ item }}</option>
  </select>
</div>
Vue script:
new Vue({
  el: '#select_test',
  data: {
    options: ['a', 'b', 'c'],
    selected: 'a'
  },
  methods: {
    onChange: function () {
      console.log(this.selected);
    }
  }
 });
If i do not use mdb-select this code works, how can i get it to work with your select component?
 
                
                  
                      
                      Jakub Strebeyko
                      staff
                        answered 7 years ago
                    
Hi there Peter,
The behavior is as expected. MDB select inspection reveals the component acquires its material design features by hiding (as in display: none !important) the select.mdb-select element and inserting a set of custom ones instead (starting with the encompassing .select-wrapper element). Any further manipulation (like Vue data binding) should be therefore conducted upon these elements inserted by .material_select() method, and not on the ones being hidden (and redundant).
With Best Regards,
Kuba
peter.andreasson pro commented 7 years ago
Hi Jakub, Thanks for the reply! Do you have an example on how I can accomplish this?Jakub Strebeyko staff commented 7 years ago
Hi Peter, Don't get me wrong, I stated the above a general rule; it does not mean have tested ways to it. MDB has a separate version for Vue, and as such the jQuery version does not get tested against Vue use-cases. From as far as I investigated it, you need to use Vue interpolation first (so it populates the original<select> element, as expected) and only then (after the page's first render, that is) somehow initialize the .mdb-select itself. A 'click' event listener attached to a button and initializing the select works fine, for example.
With Best Regards,
Kuba
                          
                          
                          
                        
                      
                      
                        
                          FREE CONSULTATION
Hire our experts to build a dedicated project. We'll analyze your business requirements, for free.
Answered
- ForumUser: Pro
- Premium support: No
- Technology: MDB jQuery
- MDB Version: -
- Device: -
- Browser: -
- OS: -
- Provided sample code: No
- Provided link: No