vue实现穿梭框

页面展示

在这里插入图片描述

html

  <body>
    <div id="my">
      <div class="container-fluid">
        <div class="row">
          <!--左侧-->
          <div class="col-xs-5 col-sm-5">
            <div class="panel panel-success">
              <!--标题-->
              <div class="panel-heading clearfix">
                <span class="pull-right"></span>
              </div>
              <!--内容-->
              <div class="panel-body panel-height">
                <ul class="list-unstyled">
                  <li>
                    <div class="checkbox">
                      <label>
                        <input type="checkbox" />
                      </label>
                    </div>
                  </li>
                </ul>
              </div>
            </div>
          </div>
          <!--中间-->
          <div class="col-xs-2 col-sm-2 text-center">
            <div>
              <button type="button" class="btn btn-primary anniu">>></button>
            </div>
            <br />
            <div>
              <button type="button" class="btn btn-primary anniu"><<</button>
            </div>
          </div>
          <!--右侧-->
          <div class="col-xs-5 col-sm-5">
            <div class="panel panel-info">
              <!--标题-->
              <div class="panel-heading clearfix">
                <span class="pull-right"></span>
              </div>
              <!--内容-->
              <div class="panel-body panel-height">
                <ul class="list-unstyled">
                  <li>
                    <div class="checkbox">
                      <label>
                        <input type="checkbox" />
                      </label>
                    </div>
                  </li>
                </ul>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </body>

javascript

window.onload = function () {
  new Vue({
    el: "#my",
    data: {
      leftData:[
        {id:1,name:'数据1',check:true},
        {id:2,name:'数据2',check:false},
        {id:3,name:'数据3',check:false},
        {id:4,name:'数据4',check:false},
        {id:5,name:'数据5',check:false},
        {id:6,name:'数据6',check:false},
        {id:7,name:'数据7',check:false},
        {id:8,name:'数据8',check:false},
        {id:9,name:'数据9',check:false},
      ],
      rightData:[]//右侧数据
    },
    computed: {
      num() {
        return function(data,state) {
          return this.commonEvt(data,state).length
        }
      }
    },
    methods: {
      // 把左边的数据添加到右边
      toRight() {
        var arr = this.commonEvt(this.leftData,true);
        if(arr.length) {
          this.rightData = [...this.rightData,...arr]; 
          this.leftData = this.commonEvt(this.leftData,false); // 左边显示的数据
        } else {
          alert("请勾选数据")
        }
      },
      toLeft() {
        var arr = this.commonEvt(this.rightData,true)
        if(arr.length) {
          this.leftData = [...this.leftData,...arr]; // 左边显示添加的数据
          this.rightData = this.commonEvt(this.rightData,false); // 右边显示的数据
        } else {
          alert("请勾选数据")
        }
      },
      //  公共筛选方法
      commonEvt(data,state) {
        return data.filter(item => item.check == state)
      }
    },
    mounted() {

    }
  })
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,098评论 0 4
  • 公元:2019年11月28日19时42分农历:二零一九年 十一月 初三日 戌时干支:己亥乙亥己巳甲戌当月节气:立冬...
    石放阅读 6,909评论 0 2
  • 年纪越大,人的反应就越迟钝,脑子就越不好使,计划稍有变化,就容易手忙脚乱,乱了方寸。 “玩坏了”也是如此,不但会乱...
    玩坏了阅读 2,171评论 2 1
  • 感动 我在你的眼里的样子,就是你的样子。 相互内化 没有绝对的善恶 有因必有果 当你以自己的价值观幸福感去要求其他...
    周粥粥叭阅读 1,654评论 1 5
  • 昨天考过了阿里规范,心里舒坦了好多,敲代码也犹如神助。早早完成工作回家喽
    常亚星阅读 3,051评论 0 1