【vue】初步使用element-ui框架

cd到当前项目,运行

cnpm i element-ui -S

接下来就是在项目里面引用了,打开src目录下的main.js

java 复制代码
//导入vue.js
import Vue from 'vue'
//导入下面2个组件
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
//导入App.vue根组件
import App from './App.vue'
//在导入Vue实例之前,要将element-ui插件加入到Vue中
Vue.use(ElementUI);
Vue.config.productionTip = false

new Vue({
  render: h => h(App),//渲染App根组件
}).$mount('#app')

子组件vue文件中

java 复制代码
<template>
//注意:要在最外层套一个div容器
  <div>
    <el-table
    <!--ref为一个元素或者子组件的应用 -->
    <!-- 组件中所有的ref都会放在$refs属性中>
        ref="multipleTable"
        :data="tableData"
        class="projectnew"
        style="width: 100%"
        @selection-change="handleSelectionChange">
      <el-table-column
          type="selection"
          width="55">
      </el-table-column>

      <el-table-column
          prop="name"
          label="项目名称"
          width="120">
      </el-table-column>

      <el-table-column
          property="leader"
          label="负责人"
          width="120">
      </el-table-column>

      <el-table-column
          property="app_name"
          label="应用名称"
          show-overflow-tooltip>
      </el-table-column>
    </el-table>
    <div style="margin-top: 20px">
      <el-button @click="toggleSelection()">Clear selection</el-button>
    </div>
  </div>
</template>

<script>
export default {
  name: "projectlistNew",
  data() {
    return {
      project_header: ["项目名称", "负责人", "应用名称"],
      tableData: [
        {name: "吊炸天的项目", leader: "飞天小子", app_name: "很牛逼的应用"},
        {name: "非常厉害的项目", leader: "小旋风", app_name: "很神秘的应用"},
        {name: "很完美的项目", leader: "阿童木", app_name: "666的应用"}
      ],
      // multipleTable:[],
    }
},
  methods: {
    toggleSelection(rows) {
      if (rows) {
        rows.forEach(row => {
          this.$refs.multipleTable.toggleRowSelection(row);
        });
      } else {
        this.$refs.multipleTable.clearSelection();
      }
    },
    handleSelectionChange(val) {
      this.multipleSelection = val;
      //在控制台打印日志
      console.log(this.multipleSelection)
    }
  }
}
</script>

<style scoped>
.projectnew {
  margin: 10px 500px;
}
</style>
相关推荐
一 乐11 分钟前
远程在线诊疗|在线诊疗|基于java和小程序的在线诊疗系统小程序设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·小程序
左耳咚13 分钟前
如何解析 zip 文件
前端·javascript·面试
程序员小寒23 分钟前
前端高频面试题之Vue(初、中级篇)
前端·javascript·vue.js
CodeCraft Studio42 分钟前
Excel处理控件Aspose.Cells教程:如何使用C#在Excel中添加、编辑和更新切片器
ui·c#·excel·aspose·excel切片器·创建表格切片器
大菠萝学姐44 分钟前
基于springboot的旅游攻略网站设计与实现
前端·javascript·vue.js·spring boot·后端·spring·旅游
心随雨下1 小时前
TypeScript中extends与implements的区别
前端·javascript·typescript
摇滚侠1 小时前
Vue 项目实战《尚医通》,底部组件拆分与静态搭建,笔记05
前端·vue.js·笔记·vue
caleb_5201 小时前
vue cli的介绍
前端·javascript·vue.js
Swift社区1 小时前
如何监测 Vue + GeoScene 项目中浏览器内存变化并优化性能
前端·javascript·vue.js
WYiQIU1 小时前
大厂前端岗重复率极高的场景面试原题解析
前端·javascript·vue.js·react.js·面试·状态模式