【Vue基础】element组件

谁借莪1个温暖的怀抱¢ 2023-10-11 21:38 146阅读 0赞

一、需求描述

有按钮、表格、页码、嵌套的表格,选择页码或每页记录数时会出现监听效果,点击嵌套的表格会弹出表格内容。

二、代码分享

ElementView.vue文件中代码如下

83a9b930cb9e45d1ac2a7b1db751ea74.png

  1. <template>
  2. <div>
  3. <!--按钮-->
  4. <el-row>
  5. <el-button round>圆角按钮</el-button>
  6. <el-button type="primary" round>主要按钮</el-button>
  7. <el-button type="success" round>成功按钮</el-button>
  8. <el-button type="info" round>信息按钮</el-button>
  9. <el-button type="warning" round>警告按钮</el-button>
  10. <el-button type="danger" round>危险按钮</el-button>
  11. </el-row>
  12. <br>
  13. <!--表格-->
  14. <el-table
  15. :data="tableData"
  16. stripe
  17. style="width: 100%">
  18. <el-table-column
  19. prop="date"
  20. label="日期"
  21. width="180">
  22. </el-table-column>
  23. <el-table-column
  24. prop="name"
  25. label="姓名"
  26. width="180">
  27. </el-table-column>
  28. <el-table-column
  29. prop="address"
  30. label="地址">
  31. </el-table-column>
  32. </el-table>
  33. <br>
  34. <!--页码-->
  35. <el-pagination background layout="total, sizes, prev, pager, next"
  36. @size-change="handleSizeChange"
  37. @current-change="handleCurrentChange"
  38. :total="1000">
  39. </el-pagination>
  40. <!--嵌套表格-->
  41. <el-button type="text" @click="dialogTableVisible = true">打开嵌套表格的 Dialog</el-button>
  42. <el-dialog title="收货地址" :visible.sync="dialogTableVisible">
  43. <el-table :data="gridData">
  44. <el-table-column property="date" label="日期" width="150"></el-table-column>
  45. <el-table-column property="name" label="姓名" width="200"></el-table-column>
  46. <el-table-column property="address" label="地址"></el-table-column>
  47. </el-table>
  48. </el-dialog>
  49. <!--嵌套表单-->
  50. <br>
  51. <el-button type="text" @click="dialogFormVisible = true">打开嵌套Form的 Dialog</el-button>
  52. <el-dialog title="Form表单" :visible.sync="dialogFormVisible">
  53. <el-form ref="form" :model="form" label-width="80px">
  54. <el-form-item label="活动名称">
  55. <el-input v-model="form.name"></el-input>
  56. </el-form-item>
  57. <el-form-item label="活动区域">
  58. <el-select v-model="form.region" placeholder="请选择活动区域">
  59. <el-option label="区域一" value="shanghai"></el-option>
  60. <el-option label="区域二" value="beijing"></el-option>
  61. </el-select>
  62. </el-form-item>
  63. <el-form-item label="活动时间">
  64. <el-col :span="11">
  65. <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100%;"></el-date-picker>
  66. </el-col>
  67. <el-col class="line" :span="2">-</el-col>
  68. <el-col :span="11">
  69. <el-time-picker placeholder="选择时间" v-model="form.date2" style="width: 100%;"></el-time-picker>
  70. </el-col>
  71. </el-form-item>
  72. <el-form-item>
  73. <el-button type="primary" @click="onSubmit">提交</el-button>
  74. <el-button>取消</el-button>
  75. </el-form-item>
  76. </el-form>
  77. </el-dialog>
  78. </div>
  79. </template>
  80. <script>
  81. export default {
  82. data() {
  83. return {
  84. form: {
  85. name: '',
  86. region: '',
  87. date1: '',
  88. date2: ''
  89. },
  90. tableData: [{
  91. date: '2016-05-02',
  92. name: '王小虎',
  93. address: '上海市普陀区金沙江路 1518 弄'
  94. }, {
  95. date: '2016-05-04',
  96. name: '王小虎',
  97. address: '上海市普陀区金沙江路 1517 弄'
  98. }, {
  99. date: '2016-05-01',
  100. name: '王小虎',
  101. address: '上海市普陀区金沙江路 1519 弄'
  102. }, {
  103. date: '2016-05-03',
  104. name: '王小虎',
  105. address: '上海市普陀区金沙江路 1516 弄'
  106. }],
  107. gridData: [{
  108. date: '2016-05-02',
  109. name: '王小虎',
  110. address: '上海市普陀区金沙江路 1518 弄'
  111. }, {
  112. date: '2016-05-04',
  113. name: '王小虎',
  114. address: '上海市普陀区金沙江路 1518 弄'
  115. }, {
  116. date: '2016-05-01',
  117. name: '王小虎',
  118. address: '上海市普陀区金沙江路 1518 弄'
  119. }, {
  120. date: '2016-05-03',
  121. name: '王小虎',
  122. address: '上海市普陀区金沙江路 1518 弄'
  123. }],
  124. dialogTableVisible: false,
  125. dialogFormVisible: false
  126. }
  127. },
  128. methods: {
  129. onSubmit:function(){
  130. alert(JSON.stringify(this.form));
  131. },
  132. handleSizeChange:function(val) {
  133. console.log(`每页 ${val} 条`);
  134. alert("每页记录数变化"+val)
  135. },
  136. handleCurrentChange:function(val) {
  137. console.log(`当前页: ${val}`);
  138. alert("页码变化"+val)
  139. }
  140. }
  141. }
  142. </script>
  143. <style >
  144. </style>

三、知识点整理

  1. onSubmit:function(){
  2. alert(this.form);
  3. },

90f05b7900484be0aebb42ae189dc2cb.png

需要将对象转为字符串:

  1. onSubmit:function(){
  2. alert(JSON.stringify(this.form));
  3. },

1f658881c129469ba57c25b5dfc78ab0.png

四、教程链接

1、element组件教程

https://www.bilibili.com/video/BV1m84y1w7Tb?p=44&spm_id_from=pageDriver&vd_source=841fee104972680a6cac4dbdbf144b50

https://www.bilibili.com/video/BV1m84y1w7Tb?p=42&vd_source=841fee104972680a6cac4dbdbf144b50

发表评论

表情:
评论列表 (有 0 条评论,146人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Vue 基础

    组件是vue中堪称最为强大的功能之一,这个概念的核心目标就是为了可重用性高,减少重复性的开发。我们可以把组件代码按照template、style、script的拆分方式,放置在

    相关 Vue基础

    组件基础 基本示例 组件的复用 组件的组织 通过prop向子组件传递数据 单个根元素 监听子组件事件 使用事件抛出一个值

    相关 Vue基础

            本博客记录了小编在学习Vue过程中的体会与感悟,简单来说就是小编的学习笔记,学习地址主要为Vue的官网,官网地址为:[《Vue官方文档》][Vue]。相关学习笔