小程序开发定制Vue中使用element-ui 给按钮绑定一个单击事件,实现点击按钮就弹出一个dialog对话框

1.需求描述

小程序开发定制想要实现点击一个按钮小程序开发定制就弹出一个对话框,小程序开发定制在对话框中可输入数据进行提交,小程序开发定制在点击取消时对话框关闭

2.功能实现

1.创建按钮

在element小程序开发定制中把找到按钮的代码放到div里

  1. <el-row>
  2. <el-button type="primary" plain>新增</el-button>
  3. </el-row>

2.小程序开发定制创建对话框

在element中找到dialog对话框对应的代码,把代码粘贴到对应的位置

3.对话框与按钮的绑定

通过给按钮添加与对话框相关联的绑定事件,来实现点击按钮即可弹出对话框

把上图第一行点击打开中的

@click="dialogVisible = true"

 放到按钮组件代码块儿里,即创建按钮的代码变成:

  1. <el-row>
  2. <el-button type="primary" plain @click="dialogVisible = true">新增</el-button>
  3. </el-row>

3.对话框表单的改造

对对话框里的内容进行修改,搞成我们想要的样子

先把以下代码段删掉:

 然后去element中找到对应表单的代码贴进去,并对表单代码中data()里的return方法进行修改(改名、改成员变量),再对<>的:model与v-model的名称进行修改(名称要与刚刚修改的return里的那个方法一致)

 

4.点击“立即创建”实现表单的提交与点击取消对话框消失

对以下代码进行修改 :

 

修改成:

  1. <el-form-item>
  2. <el-button type="primary" @click="addBrand">立即创建</el-button>
  3. <el-button @click="dialogVisible = false">取消</el-button>
  4. </el-form-item>
  5. <!--新增按钮提交-->
  6. addBrand() {
  7. console.log(this.addForm);
  8. }

 4.对“状态”Switch开关所提交的类型进行修改

在上述工作做完后,表单已经能实现完整功能的表单的提交与取消后对话框消失的功能了,但此时Switch开关提交的类型为ture,若我不想要ture,我想要0或者1,就要对Switch“状态”的代码块儿进行修改

在element下Switch开关中找到扩展的 value 类型,可以看到有active-value="100" 和inactive-value="0"的代码,可以把这两行代码加入我们的Switch“状态”的代码块儿中并对数值进行修改

修改完之后,此时Switch“状态”的代码为:

  1. <el-form-item label="状态">
  2. <el-switch v-model="addForm.status"
  3. active-value="1"
  4. inactive-value="0"
  5. ></el-switch>
  6. </el-form-item>

5.完整代码

这样我们就能实现实现点击一个按钮就弹出一个对话框,在对话框中可输入数据进行提交,在点击取消时对话框关闭的功能啦

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <style>
  7. .el-table .warning-row {
  8. background: oldlace;
  9. }
  10. .el-table .success-row {
  11. background: #f0f9eb;
  12. }
  13. </style>
  14. </head>
  15. <body>
  16. <div id="app">
  17. <!--搜索表单-->
  18. <el-form :inline="true" :model="brand" class="demo-form-inline">
  19. <el-form-item label="当前状态">
  20. <el-select v-model="brand.status" placeholder="当前状态">
  21. <el-option label="启用" value="1"></el-option>
  22. <el-option label="禁用" value="0"></el-option>
  23. </el-select>
  24. </el-form-item>
  25. <el-form-item label="企业名称">
  26. <el-input v-model="brand.companyName" placeholder="企业名称"></el-input>
  27. </el-form-item>
  28. <el-form-item label="品牌名称">
  29. <el-input v-model="brand.brandName" placeholder="品牌名称"></el-input>
  30. </el-form-item>
  31. <el-form-item>
  32. <el-button type="primary" @click="onSubmit">查询</el-button>
  33. </el-form-item>
  34. </el-form>
  35. <!--第二行的按钮-->
  36. <el-row>
  37. <el-button type="danger" plain>批量删除</el-button>
  38. <el-button type="primary" plain @click="dialogVisible = true">新增</el-button>
  39. </el-row>
  40. <!--点击新增按钮就弹出对话框-->
  41. <el-dialog
  42. title="编辑品牌"
  43. :visible.sync="dialogVisible"
  44. width="30%"
  45. >
  46. <!--弹出的对话框的内容-->
  47. <el-form ref="form" :model="addForm" label-width="80px">
  48. <el-form-item label="品牌名称">
  49. <el-input v-model="addForm.brandName"></el-input>
  50. </el-form-item>
  51. <el-form-item label="企业名称">
  52. <el-input v-model="addForm.companyName"></el-input>
  53. </el-form-item>
  54. <el-form-item label="排序">
  55. <el-input v-model="addForm.ordered"></el-input>
  56. </el-form-item>
  57. <el-form-item label="活动形式">
  58. <el-input type="textarea" v-model="addForm.description"></el-input>
  59. </el-form-item>
  60. <el-form-item label="状态">
  61. <el-switch v-model="addForm.status"
  62. active-value="1"
  63. inactive-value="0"
  64. ></el-switch>
  65. </el-form-item>
  66. <el-form-item>
  67. <el-button type="primary" @click="addBrand">立即创建</el-button>
  68. <el-button @click="dialogVisible = false">取消</el-button>
  69. </el-form-item>
  70. </el-form>
  71. </el-dialog>
  72. <!--表格-->
  73. <template>
  74. <el-table
  75. :data="tableData"
  76. style="width: 100%"
  77. :row-class-name="tableRowClassName"
  78. @selection-change="handleSelectionChange"
  79. >
  80. <el-table-column
  81. type="selection"
  82. width="55">
  83. </el-table-column>
  84. <el-table-column
  85. type="index"
  86. width="50">
  87. </el-table-column>
  88. <el-table-column
  89. prop="brandName"
  90. align="center"
  91. label="品牌名称"
  92. >
  93. </el-table-column>
  94. <el-table-column
  95. prop="companyName"
  96. align="center"
  97. label="企业姓名"
  98. >
  99. </el-table-column>
  100. <el-table-column
  101. prop="ordered"
  102. align="center"
  103. label="排序">
  104. </el-table-column>
  105. <el-table-column
  106. prop="status"
  107. align="center"
  108. label="当前状态">
  109. </el-table-column>
  110. <el-table-column
  111. align="center"
  112. label="操作">
  113. <el-row>
  114. <el-button type="primary">修改</el-button>
  115. <el-button type="danger">删除</el-button>
  116. </el-row>
  117. </el-table-column>
  118. </el-table>
  119. </template>
  120. </div>
  121. <script src="js/vue.js"></script>
  122. <script src="element-ui/lib/index.js"></script>
  123. <link rel="stylesheet" href="element-ui/lib/theme-chalk/index.css">
  124. <script>
  125. new Vue({
  126. el: "#app",
  127. methods: {
  128. tableRowClassName({row, rowIndex}) {
  129. if (rowIndex === 1) {
  130. return 'warning-row';
  131. } else if (rowIndex === 3) {
  132. return 'success-row';
  133. }
  134. return '';
  135. },
  136. //复选框选中后执行的方法
  137. handleSelectionChange(val) {
  138. this.multipleSelection = val;
  139. console.log(this.multipleSelection)
  140. },
  141. <!--查询按钮提交-->
  142. onSubmit() {
  143. console.log(this.brand);
  144. },
  145. <!--新增按钮提交-->
  146. addBrand() {
  147. console.log(this.addForm);
  148. }
  149. },
  150. data() {
  151. return {
  152. <!--弹出的对话框的内容-->
  153. addForm: {
  154. brandName:'',
  155. companyName:'',
  156. id:'',
  157. ordered:'',
  158. description:'',
  159. status:'',
  160. },
  161. dialogVisible: false,
  162. multipleSelection: [],
  163. tableData: [{
  164. brandName: '小米',
  165. companyName: '小米科技有限公司',
  166. ordered: '100',
  167. status:'1',
  168. }, {
  169. brandName: '小米',
  170. companyName: '小米科技有限公司',
  171. ordered: '100',
  172. status:'1',
  173. }, {
  174. brandName: '小米',
  175. companyName: '小米科技有限公司',
  176. ordered: '100',
  177. status:'1',
  178. }, {
  179. brandName: '小米',
  180. companyName: '小米科技有限公司',
  181. ordered: '100',
  182. status:'1',
  183. }],
  184. <!--搜索表单-->
  185. brand: {
  186. status: '',
  187. companyName: '',
  188. brandName: '',
  189. }
  190. }
  191. }
  192. })
  193. </script>
  194. </body>
  195. </html>

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发