ff_cc 2020-07-13 09:23 采纳率: 0%
浏览 827

使用bootstrap-select + vue制作下拉,其中一个下拉框写入默认选中值,加载完成后,选择另一个下拉会导致前一个下拉框的默认值失效

代码如下

<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部分-->
<div  id="app" v-clock>
    <select id="sel" v-model="select_list"  title="请选择"  multiple
            >
        <option v-bind:value="item.id" v-for="item in result_list">
            {{item.id}}
        </option>
    </select>

    <select id="sel1" v-model="select_list1"  title="请选择"  multiple
            >
        <option v-bind:value="item.id" v-for="item in result_list1">
            {{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:[],
            result_list1:[],
            //接收已经选择的结果集
            select_list1:[]
        },
        //监听部分
        watch: {
            /**
             * 监听后端的返回结果集
             */
            result_list:function () {
                this.$nextTick(function () {
                    $('#sel').selectpicker('refresh');
                    $("#sel").selectpicker ("val",[1,2,3]).trigger("change");

                })
            },
            result_list1:function () {
                this.$nextTick(function () {
                    $('#sel1').selectpicker('refresh');

                })
            },
            /**
             * 监听已经选择的结果集
             */
            select_list:function () {
                console.log(this.select_list)
            }
        },
        created: function () {

        },
        //初始化数据加载部分
        methods: {
            /**
             * 初始化数据,向后端请求结果
             */
           init:function () {
               //代替http请求
               this.result_list = [{id:1},{id:2},{id:3},{id:4}];
               this.result_list1 = [{id:1},{id:2},{id:3},{id:4}];
               $('#sel').selectpicker({
                   multiple: true,
                   actionsBox: true
               })
               $('#sel1').selectpicker({
                   multiple: true,
                   actionsBox: true
               })

           }
        }
    })
    /**
     * 初始化部分,必须放在vue外部,不可以在vue的created内调用
     */
    $(function () {
        vm.init();

    });
</script>
</body>
</html>

初始化之后效果,默认值选中图片说明
选择后一个下拉之后,前一个的默认值会失效如图!图片说明

  • 写回答

3条回答 默认 最新

  • 禅思院 前端领域优质创作者 2020-07-13 09:34
    关注

    默认值也不是这这样赋值的,还有些的 没有必要写wath 一个简单的功能写的好复杂,简单的调制也知道你的bug 在哪

    评论

报告相同问题?

悬赏问题

  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64