├── .browserslistrc
├── babel.config.js
├── public
├── favicon.ico
├── check_box.png
├── check-box-outline-blank.png
└── index.html
├── postcss.config.js
├── src
├── views
│ ├── About.vue
│ └── Home.vue
├── main.js
├── App.vue
├── router.js
└── components
│ ├── HelloWorld.vue
│ └── main.vue
├── .gitignore
├── README.md
├── .eslintrc.js
└── package.json
/.browserslistrc:
--------------------------------------------------------------------------------
1 | > 1%
2 | last 2 versions
3 | not ie <= 8
4 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/app'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luleiyu/transfer/HEAD/public/favicon.ico
--------------------------------------------------------------------------------
/public/check_box.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luleiyu/transfer/HEAD/public/check_box.png
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | autoprefixer: {}
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/public/check-box-outline-blank.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luleiyu/transfer/HEAD/public/check-box-outline-blank.png
--------------------------------------------------------------------------------
/src/views/About.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
This is an about page
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 | # local env files
6 | .env.local
7 | .env.*.local
8 |
9 | # Log files
10 | npm-debug.log*
11 | yarn-debug.log*
12 | yarn-error.log*
13 |
14 | # Editor directories and files
15 | .idea
16 | .vscode
17 | *.suo
18 | *.ntvs*
19 | *.njsproj
20 | *.sln
21 | *.sw*
22 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './App.vue'
3 | import router from './router'
4 | import ElementUI from 'element-ui';
5 | import 'element-ui/lib/theme-chalk/index.css';
6 | Vue.config.productionTip = false
7 | Vue.use(ElementUI);
8 | new Vue({
9 | router,
10 | render: h => h(App)
11 | }).$mount('#app')
12 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Vue-Transfer
2 |
3 | Vue仿element-ui穿梭框效果,并添加拖拽功能
4 |
5 | # 进入transfer 文件夹
6 |
7 | ``` bash
8 | cd Transfer
9 | ```
10 |
11 | # 安装依赖
12 |
13 | ``` bash
14 | npm i 或者 cnpm i 或者 yarn
15 | ```
16 |
17 | # 运行项目 run project
18 |
19 | ``` bash
20 | npm run serve
21 | ```
22 |
23 | # 打包项目 build project
24 |
25 | ``` bash
26 | npm run build
27 | ```
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: {
4 | node: true
5 | },
6 | 'extends': [
7 | 'plugin:vue/essential',
8 | 'eslint:recommended'
9 | ],
10 | rules: {
11 | 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
12 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
13 | },
14 | parserOptions: {
15 | parser: 'babel-eslint'
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
26 |
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | hello-world
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/router.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Router from 'vue-router'
3 | import Home from './views/Home.vue'
4 |
5 | Vue.use(Router)
6 |
7 | export default new Router({
8 | mode: 'history',
9 | base: process.env.BASE_URL,
10 | routes: [
11 | {
12 | path: '/',
13 | name: 'home',
14 | component: Home
15 | },
16 | {
17 | path: '/about',
18 | name: 'about',
19 | // route level code-splitting
20 | // this generates a separate chunk (about.[hash].js) for this route
21 | // which is lazy-loaded when the route is visited.
22 | component: () => import(/* webpackChunkName: "about" */ './views/About.vue')
23 | }
24 | ]
25 | })
26 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "hello-world",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build",
8 | "lint": "vue-cli-service lint"
9 | },
10 | "dependencies": {
11 | "element-ui": "^2.4.11",
12 | "vue": "^2.5.21",
13 | "vue-router": "^3.0.1"
14 | },
15 | "devDependencies": {
16 | "@vue/cli-plugin-babel": "^3.3.0",
17 | "@vue/cli-plugin-eslint": "^3.3.0",
18 | "@vue/cli-service": "^3.3.0",
19 | "babel-eslint": "^10.0.1",
20 | "eslint": "^5.8.0",
21 | "eslint-plugin-vue": "^5.0.0",
22 | "less": "^3.0.4",
23 | "less-loader": "^4.1.0",
24 | "vue-template-compiler": "^2.5.21"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/views/Home.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
47 |
--------------------------------------------------------------------------------
/src/components/HelloWorld.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 课件列表
6 | {{leftSelect ? leftSelect : 0}}/{{data1.length}}
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
27 |
28 |
29 |
33 |
34 |
35 |
36 | 已选课件
37 | {{rightSelect ? rightSelect : 0}}/{{data2.length}}
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
58 |
59 |
60 |
61 |
245 |
368 |
--------------------------------------------------------------------------------
/src/components/main.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 课件列表
6 | {{leftSelect ? leftSelect : 0}}/{{data1.length}}
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
27 |
28 |
29 |
33 |
34 |
35 |
36 | 已选课件
37 | {{rightSelect ? rightSelect : 0}}/{{data2.length}}
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
58 |
59 |
60 |
61 |
323 |
447 |
--------------------------------------------------------------------------------