【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>
相关推荐
阿虎儿24 分钟前
React Context 详解:从入门到性能优化
前端·vue.js·react.js
颜酱1 小时前
理解二叉树最近公共祖先(LCA):从基础到变种解析
javascript·后端·算法
FansUnion1 小时前
我如何用 Next.js + Supabase + Cloudflare R2 搭建壁纸销售平台——月成本接近 $0
javascript
左夕2 小时前
分不清apply,bind,call?看这篇文章就够了
前端·javascript
滕青山3 小时前
文本行过滤/筛选 在线工具核心JS实现
前端·javascript·vue.js
时光不负努力3 小时前
编程常用模式集合
前端·javascript·typescript
时光不负努力3 小时前
ts+vue3开发规范
vue.js·typescript
大雨还洅下3 小时前
前端JS: 跨域解决
javascript
OpenTiny社区3 小时前
OpenTiny NEXT-SDK 重磅发布:四步把你的前端应用变成智能应用
前端·javascript·ai编程
梦想CAD控件3 小时前
在线CAD开发包结构与功能说明
前端·javascript·vue.js