zoukankan      html  css  js  c++  java
  • bootstrap-select多选框与Vue整合,下拉的数据刷新不出

    解决办法:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>bootstrap-select多选框与Vue整合</title>
        <!--样式依赖-->
        <link href="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
        <link href="https://cdn.bootcss.com/bootstrap-select/1.13.7/css/bootstrap-select.min.css" rel="stylesheet">
        <!--js库依赖-->
        <script src="https://cdn.bootcss.com/jquery/2.2.4/jquery.min.js"></script>
        <script src="https://cdn.bootcss.com/bootstrap-select/1.13.7/js/bootstrap-select.min.js"></script>
        <script src="https://cdn.bootcss.com/bootstrap-select/2.0.0-beta1/js/i18n/defaults-zh_CN.min.js"></script>
        <script src="https://cdn.bootcss.com/vue/2.2.6/vue.min.js"></script>
        <script src="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
    
    </head>
    <body >
    <!--dom部分,multiple删除掉就是单选了-->
    <div  id="app" v-clock>
        <select id="sel" v-model="select_list"  title="请选择" multiple
                data-live-search="true">
            <option v-bind:value="item.id" v-for="item in result_list">
                {{item.id}}
            </option>
        </select>
        <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
        <div>已选择:</div>
        <div v-for="item in select_list">
            {{item}}
        </div>
    </div>
    <script>
        var vm = new Vue({
            el: '#app',
            // 数据部分
            data: {
                //接收后端的返回结果集
                result_list:[],
                //接收已经选择的结果集
                select_list:[]
            },
            //监听部分
            watch: {
                /**
                 * 监听后端的返回结果集
                 */
                result_list:function () {
                    this.$nextTick(function () {
                        $('#sel').selectpicker('refresh');
                    })
                },
                /**
                 * 监听已经选择的结果集
                 */
                select_list:function () {
                    console.log(this.select_list)
                }
            },
            created: function () {
                
            },
            //初始化数据加载部分
            methods: {
                /**
                 * 初始化数据,向后端请求结果
                 */
               init:function () {
                   //代替http请求
                   this.result_list = [{id:"成都"},{id:"北京"},{id:"上海"},{id:"深圳"}];
                   $('#sel').selectpicker({
                       multiple: true,
                       actionsBox: true
                   })
               }
            }
        })
        /**
         * 初始化部分,必须放在vue外部,不可以在vue的created内调用
         */
        $(function () {
            vm.init();
        });
    </script>
    </body>
    </html>

     注意:主要是要给从后台获取的数据添加监听,并刷新下拉带搜索的功能。

    效果图:

    文章转载:https://blog.csdn.net/z_tankeer/article/details/90374992

  • 相关阅读:
    final 和 static
    EL表达式
    strusts2request,session取得
    Double的精度问题
    隐藏软件盘(个人因为好用的方法)
    ListView没有分割线怎么办?
    自定义ActionBar完全覆盖系统的
    保存图片的工具类
    Intent传递list<bean>集合
    Android取得图库图片的具体地址
  • 原文地址:https://www.cnblogs.com/bigbigxiao/p/13230343.html
Copyright © 2011-2022 走看看