当前位置:   article > 正文

ElementUI-----UI框架_element ui

element ui

ElementUI是由饿了么团队开源的UI框架,并于Vue完美契合。项目地址:https://github.com/ElemeFE/element

项目文档:Element - The world's most popular Vue UI framework

要使用elementui现成的资源,需要在Vue中先导入elementui,将其设为全局组件,然后就可以在官方文档中复制现成的控件代码来使用了。

1.选择需要的控件,点击扩展按钮即可展示前端代码

1.安装elementui:

        cnpm i element-ui -S

2.导入main.js入口函数中:

以上导入方式适用于Vue2中,不适用Vue3,Vue3导入方式如下:

        1.先安装element-plus

                 cnpm install --save element-plus

        2.导入:

组件中使用elment-ui组件的示例:

        1.components中新增组件:projects.vue

<!--ref为一个元素或者子组件的引用,组件中定义的所有ref都会放在当前组件的$refs属性中-->

  1. <!--1.从element-ui中复制组件代码-->
  2. <!--2.el-table为整个table控件,属性:data 就是v-bind绑定的数据对象,来自于data返回的tableData对象; el-table-column为里面的每一列-->
  3. <!--3.el-table-column中的type属性代表这列的属性,若是selection,则说明此列是选择框-->
  4. <!--4.el-table-column中的prop,用于绑定循环时数据对象所赋的值,lable用于显示此列的头信息-->
  5. <!--5.el-table-column中的prop原理:数据对象会把数据给所有的含有el-table-column的标签,每个标签会根据自己标签中含有的prop值,去数据
  6. 对象中取对应的值,比如:某个标签中prop的值为name,这个标签就把数据对象中的name对应的数据取出来赋值给自己显示-->
  7. <template>
  8. <el-table
  9. class="project_tabel"
  10. <!--ref为一个元素或者子组件的引用组件中定义的所有ref都会放在当前组件的$refs属性中-->
  11. ref="multipleTable"
  12. :data="tableData"
  13. style="width: 100%"
  14. @selection-change="handleSelectionChange">
  15. <el-table-column
  16. type="selection"
  17. width="55">
  18. </el-table-column>
  19. <el-table-column
  20. prop="name"
  21. label="项目名称"
  22. width="120">
  23. </el-table-column>
  24. <el-table-column
  25. prop="leader"
  26. label="项目负责人"
  27. width="120">
  28. </el-table-column>
  29. <el-table-column
  30. prop="app_name"
  31. label="应用名称"
  32. show-overflow-tooltip>
  33. </el-table-column>
  34. </el-table>
  35. <div style="margin-top: 20px">
  36. <el-button @click="toggleSelection()">Clear selection</el-button>
  37. </div>
  38. </template>
  39. <script>
  40. export default {
  41. name: "projects",
  42. data() {
  43. return {
  44. projects_head: ["项目名称", "项目负责人", "应用名称"],
  45. tableData:[
  46. {name:"项目1111",leader:"chuntian",app_name:"吃饱了撑的app"},
  47. {name:"项目2222",leader:"22222",app_name:"走吧222"},
  48. {name:"项目3333",leader:"3333",app_name:"奔跑吧3333"},
  49. ],
  50. // data()中定义的都是属性,此处定义空数组,methods中的方法才可以调用修改此属性数组。
  51. multipleTable:[]
  52. }
  53. },
  54. // 定义的js函数都写在methods中
  55. methods:{
  56. toggleSelection(rows) {
  57. if (rows) {
  58. rows.forEach(row => {
  59. this.$refs.multipleTable.toggleRowSelection(row);
  60. });
  61. } else {
  62. // this类似self,通过$refs.属性名 调用组件属性的数据。
  63. this.$refs.multipleTable.clearSelection();
  64. }
  65. },
  66. handleSelectionChange(val) {
  67. this.multipleSelection = val;
  68. }
  69. }
  70. }
  71. </script>
  72. <style scoped>
  73. /*此处更加el-table的class属性,调整整个el-table的样式*/
  74. .project_tabel{
  75. margin:50px 500px;
  76. }
  77. </style>

        2.将组件导入根组件App.vue中使用

  1. <!--tempalet 部分用于展示给用户,相当于MVVM模式中的V-->
  2. <template>
  3. <div>
  4. <img alt="Vue logo" src="./assets/logo.png">
  5. <!--3. 引用-->
  6. <projects></projects>
  7. </div>
  8. </template>
  9. <!--script标签内是js组件 -->
  10. <script>
  11. //1. 导入
  12. import projects from "./components/projects"
  13. export default {
  14. // 定义组件名称
  15. name: 'App',
  16. //2. 声明
  17. components: {
  18. projects,
  19. }
  20. }
  21. </script>
  22. <!--style标签内:视图的样式-->
  23. <style>
  24. #app {
  25. font-family: Avenir, Helvetica, Arial, sans-serif;
  26. -webkit-font-smoothing: antialiased;
  27. -moz-osx-font-smoothing: grayscale;
  28. text-align: center;
  29. color: #2c3e50;
  30. margin-top: 60px;
  31. }
  32. </style>

        3.效果:

                点击选择框选择数据后,点击Clear selection,能全部取消选择

示例完毕。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/189747
推荐阅读
相关标签
  

闽ICP备14008679号