欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue+ElementUI实现订单页动态添加产品数据效果实例代码

程序员文章站 2023-02-24 08:34:10
这两天学习了elementui基于vue2.0开发学习,这个知识点挺多的,而且很重要,所以,今天添加一点小笔记。 使用vue2.0(elementui基于vue2.0)+...

这两天学习了elementui基于vue2.0开发学习,这个知识点挺多的,而且很重要,所以,今天添加一点小笔记。

使用vue2.0(elementui基于vue2.0)+elementui(饿了么出品)实现的在订单页面动态添加产品的效果,并自动计算总价。代码直接保存为html文档,使用浏览器打开即可查看效果。

效果图:

vue+ElementUI实现订单页动态添加产品数据效果实例代码 


vue+ElementUI实现订单页动态添加产品数据效果实例代码

<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" rel="external nofollow" >
  <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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。