IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue3.0实现穿梭框单点 -> 正文阅读

[JavaScript知识库]vue3.0实现穿梭框单点

vue3.0实现穿梭框单点

*{margin:0; padding:0;}
        li{list-style: none;}
        a{text-decoration: none; color: #333;}
        button{border:none;}
        input{outline:none;}
        textarea{resize:none;}
        em,i{font-style: normal;}
        .wrap{
            width: 1000px;
            margin: 0 auto;
            border: 1px solid red;
        }
        .wrap .header{
            width: 100%;
            height: 80px;
            line-height: 80px;
            border-bottom: 2px solid #ccc;
        }
        .wrap .content{
            width: 100%;
            display: flex;
            flex-direction: row;
        }
        .wrap .content .content_left ,.wrap .content .content_right{
            width:500px;
            text-align: center;
            line-height: 60px;
            border-bottom: 1px solid #333;
            height: 500px;
        }
        .wrap .content .content_left{
            border-right: 1px solid #333;
            overflow-y: scroll;
        }
        .wrap .content .content_left_main li{
            height: 100px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .wrap .content .content_left_main li div{
            width: 150px;
            height: 60px;
            background: #1B999A;
            color: #fff;
            cursor: pointer;
        }
        .wrap .content .content_right_main li{
            height: 100px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .wrap .content .content_right_main li div{
            width: 150px;
            height: 60px;
            background: #1B999A;
            color: #fff;
            cursor: pointer;
        }
        .wrap .footer{
            width: 100%;
            height: 100px;
            line-height: 100px;
            display: flex;
            justify-content: space-around;
            align-items: center;
        }
        .wrap .footer button{
            width: 150px;
            height: 60px;
            background: #1B999A;
            color: #fff;
            font-size: 16px;
        }
<div class="wrap">
        <div class="header">
            <h2>暂停原因选择</h2>
        </div>
        <div class="content">
            <div class="content_left" >
                <p>待选择</p>
                <ul class="content_left_main" v-for="(item,index) in content_left_main" :key="index" >
                    <li class="clml" >
                        <div @click = 'change(index)'>{{item.message}}</div>
                    </li>
                </ul>
            </div>
            <div class="content_right" >
                <p>以选择</p>
                <ul class="content_right_main" v-for="(item,index) in obj.arr" :key="index">
                    <li class="clml"  >
                        <div @click = 'changetwo(index)'>{{item.message}}</div>
                    </li>
                </ul>
            </div>
        </div>
        <div class="footer">
            <button>保存</button>
            <button>返回</button>
        </div>
    </div>
<script>
import { reactive, watch } from 'vue'
export default {
    setup(){
        const content_left_main=reactive([
            {   
                id:1,
                message:'设备保养'
            },
            {   
                id:2,
                message:'物料等待'
            },
            {   
                id:3,
                message:'工装维护'
            },
            {   
                id:4,
                message:'设备保养'
            },
            {   
                id:5,
                message:'设备保养'
            },
        ])

        const obj = reactive({
            arr:[]
        })
        const content_right_main=reactive([
            {
                id:1,
                message:''
            }
        ])

        const change = (i)=>{
                // console.log(obj.arr.length)
            if(!obj.arr.length>=1){
                // console.log(obj.arr.length)
                // console.log(111)
                obj.arr.push(content_left_main[i])
                content_left_main.splice(i,1)
                console.log(obj.arr)
            }
            
        }
        // watch(obj.arr,(newValue)=>{
        //     if(newValue.length>1){
        //         obj.arr.splice(0,1);
        //     }
        // })
        const changetwo = (i)=>{
            content_left_main.push(obj.arr[i])
            obj.arr.splice(0,1);
        }
        return {
            //reactive
            content_left_main,content_right_main,obj,
            //methods
            change,changetwo
        }
    }
}
</script>
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-07-14 10:46:04  更:2021-07-14 10:48:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/8 23:05:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码