Vue条件渲染

问题描述 投票:0回答:1

我正在使用 Vuejs。我有一个带有多个选择和 select2 类的选择输入。

<select class="select 2" v-if="show" multiple><option>1</option></select>

最初显示的是

false
,这样元素就不会被渲染。 我只想获得这个选择元素的 select 2 属性,它实际上没有触发。

vue.js jquery-select2
1个回答
0
投票

这是一个非常基本的解决方案,不包括值绑定。

对于完整的解决方案,请使用提供的 select2 包装器

var app = new Vue({
  el: '#app',
  data: {
    show: false,
    values: []
  },
  watch: {
    show(val) {
      if (val) {
        var vm = this;
        Vue.nextTick(function () {        
          $(".select2").select2();
        })        
      }
    }
  }
})
#app {
  line-height: 1.75;
}

[v-cloak] {
  display: none;
}
select {
  min-width: 300px;
}
<div id="app" v-cloak>
  Show: <label class="switch">
  <input type="checkbox" v-model="show">
  <span class="slider"></span>
  </label><br/>
  <div v-if="show">
    <select class="select2" v-model="values" multiple>
      <option>1</option>
      <option>2</option>
      <option>3</option>
    </select>
  </div>
</div>
<link rel="stylesheet" type="text/css" href="https://unpkg.com/[email protected]/dist/css/select2.min.css" />
<script src="https://unpkg.com/vue@2"></script>
<script src="https://unpkg.com/[email protected]/dist/jquery.js"></script>
<script src="https://unpkg.com/[email protected]/dist/js/select2.js"></script>

© www.soinside.com 2019 - 2024. All rights reserved.