vue+ElementUI实现订单页动态添加产品效果
2016-11-29 17:26
1566 查看
使用vue2.0(ElementUI基于vue2.0)+ElementUI(饿了么出品)实现的在订单页面动态添加产品的效果,并自动计算总价。代码直接保存为html文档,使用浏览器打开即可查看效果。
效果图:
效果图:
<html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" /> <!-- 引入element样式 --> <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-default/index.css"> <title>订单页面</title> </head> <body> <div id="orderTest"> <el-dialog title="产品库" v-model="dialogTableVisible"> <el-table :data="list"> <el-table-column property="name" label="产品名称" width="150"></el-table-column> <el-table-column property="price" label="单价" width="200"></el-table-column> <el-table-column :context="_self" inline-template label="操作"> <div> <el-button size="small" @click="choise(row)"> 选择 </el-button> </div> </el-table-column> </el-table> </el-dialog> <el-button type="info" icon="view" @click="dialogTableVisible = true">选择产品</el-button> <span v-show="checkedNames.length>0" style="font-family: Microsoft YaHei">总价:{{sumPrice}}元</span> <el-table :data="checkedNames" v-show="checkedNames.length>0"> <el-table-column property="name" label="产品名称" width="150"></el-table-column> <el-table-column property="price" label="单价" width="200"></el-table-column> <el-table-column inline-template label="数量" width="200"> <el-input-number v-model="row.num" :min="1" :max="10"></el-input-number> </el-table-column> <el-table-column :context="_self" inline-template label="操作"> <i class="el-icon-circle-cross" @click="del(row)" title="删除"></i> </el-table-column> </el-table> </div> </body> <!-- 引入vue --> <script src="https://unpkg.com/vue/dist/vue.js"></script> <!-- 引入element JS --> <script src="https://unpkg.com/element-ui/lib/index.js"></script> <script src="http://cdn.bootcss.com/jquery/3.1.1/jquery.js"></script> <script type="text/javascript"> var order = new Vue({ el: '#orderTest', data: { dialogTableVisible:false, checkedNames: [], list:[ {name:"iphone7",price:5688,num:1}, {name:"荣耀8",price:2299,num:1}, {name:"Lumia830",price:1299,num:1} ] }, computed:{ sumPrice:function(){ var sum = 0 ; for(var i=0;i< this.checkedNames.length;i++){ sum+=this.checkedNames[i].price*this.checkedNames[i].num; } return sum; } }, methods:{ choise:function(p){ order.checkedNames.push(p); }, del:function(p){ order.checkedNames.splice($.inArray(p, order.checkedNames), 1); }, } }); </script> </html>
相关文章推荐
- vue+ElementUI实现订单页动态添加产品数据效果实例代码
- vue2.0 使用element-ui里的upload组件实现图片预览效果
- ielement-ui实现动态添加删除
- vue+elementui的table行内实现el-upload文件添加/多文件上传
- vue2.0 使用element-ui里的upload组件实现图片预览效果方法
- Vue + Element UI 实现权限管理系统 前端篇(十):动态加载菜单
- vue+Element-ui实现分页效果
- Vue+ElementUI实现表单动态渲染、可视化配置的方法
- Android UI 之使用java代码实现动态添加LinearLayout(一)
- WPF实现选项卡效果(2)——动态添加AvalonDock选项卡
- jquery动态添加数据,实现“推荐产品模块”功能
- Vue动态实现评分效果
- Knockout结合Bootstrap创建动态UI实现产品列表管理
- jquary实现的动态添加表格效果
- vue实现动态添加数据滚动条自动滚动到底部
- jquery-ui-bootstrap动态添加和删除标签页封装【效果更炫】
- 在java中实现分页效果时,使用limit时,不能动态添加情况下的实现
- WPF实现选项卡效果(3)——自定义动态添加的AvalonDock选项卡内容
- ViewPager实现加载网络图片,动态添加删除效果
- vue动态组件实现选项卡切换效果