微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

select2

<!DOCTYPE html>
<html lang="en">

<head>
    <Meta charset="UTF-8">
    <Meta name="viewport" content="width=device-width,initial-scale=1.0">
    <Meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="https://unpkg.com/vue/dist/vue.js"></script>
    <style>
        html,body {
            font: 13px/18px sans-serif;
        }

        select {
            min-width: 300px;
        }
    </style>
</head>

<body>
    <div id="el"></div>

    <!-- using string template here to work around HTML <option> placement restriction -->
    <script type="text/x-template" id="demo-template">
  <div>
    <p>Selected: {{ selected }}</p>
    <select2 :options="options" v-model="selected">
      <option disabled value="0">Select one</option>
    </select2>
  </div>
</script>

    <script type="text/x-template" id="select2-template">
  <select>
    <slot></slot>
  </select>
</script>
    <script>
        Vue.component(select2,{
            props: [options,value],template: #select2-template,mounted: function () {
                var vm = this
                $(this.$el)
                    // init select2
                    .select2({ data: this.options })
                    .val(this.value)
                    .trigger(change)
                    // emit event on change.
                    .on(change,function () {
                        vm.$emit(input,this.value)
                    })
            },watch: {
                value: function (value) {
                    // update value
                    $(this.$el)
                        .val(value)
                        .trigger(change)
                },options: function (options) {
                    // update options
                    $(this.$el).empty().select2({ data: options })
                }
            },destroyed: function () {
                $(this.$el).off().select2(destroy)
            }
        })

        var vm = new Vue({
            el: #el,template: #demo-template,data: {
                selected: 2,options: [
                    { id: 1,text: Hello },{ id: 2,text: World }
                ]
            }
        })
    </script>
</body>

</html>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐