【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>
相关推荐
遂心_4 小时前
JavaScript 函数参数传递机制:一道经典面试题解析
前端·javascript
Gracemark4 小时前
高德地图-地图选择经纬度问题【使用输入提示-使用Autocomplete进行联想输入】(复盘)
vue.js
遂心_5 小时前
深入理解 React Hook:useEffect 完全指南
前端·javascript·react.js
前端Hardy5 小时前
HTML&CSS: 谁懂啊!用代码 “擦去”图片雾气
前端·javascript·css
前端Hardy5 小时前
HTML&CSS:好精致的导航栏
前端·javascript·css
天下无贼5 小时前
【手写组件】 Vue3 + Uniapp 手写一个高颜值日历组件(含跨月补全+今日高亮+选中状态)
前端·vue.js
一个不爱写代码的瘦子6 小时前
迭代器和生成器
前端·javascript
洋葱头_7 小时前
vue3项目不支持低版本的android,如何做兼容
前端·vue.js
奔跑的蜗牛ing7 小时前
Vue3 + Element Plus 输入框省略号插件:零侵入式全局解决方案
vue.js·typescript·前端工程化
源猿人9 小时前
企业级文件浏览系统的Vue实现:架构设计与最佳实践
前端·javascript·数据可视化