闲话少说先上效果图:

在这里插入图片描述
就是加减按钮能点,而且互不影响点击的效果。

起关键作用的就是在vue中的一个点击事件的控制:
@click.prevent=" "

而加了这个是只能点击一次:
click.self.prevent=“”

上代码:HTML

 <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>Page Title</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
        <style>
             .el-table thead {
             color: #fff;
             }
            
        </style>
    </head>
    <body>
        <div id="apps">
            <el-table :key="tableKey2" height="200" :data="tableData"  border fit
                highlight-current-row style="width: 800px;min-height:380px;" :header-cell-style="{background:'#199ED8'}">
                <el-table-column align="center" type="index" label="序号" width="50">
                </el-table-column>
                <el-table-column prop="date" label="日期" width="80">
                </el-table-column>
                <el-table-column prop="name" label="姓名" width="80">
                </el-table-column>
                <el-table-column prop="address" label="地址">
                </el-table-column>
                <el-table-column align="center" label="操作" width="50">
                    <template slot-scope="scope">
                        <span style="color:#409EFF;font-size:16px" @click.prevent="addRow(scope.row,scope.$index)"><i class="el-icon-plus"></i></span>
                    </template>
                </el-table-column>
                <el-table-column label="数量" align="center" min-width="90">
                    <template slot-scope="scope">
                        <el-input v-model="scope.row.number" oninput="value=value.replace(/[^\d]/g,'')" maxlength="8"></el-input>
                    </template>
                </el-table-column>
                <el-table-column align="center" label="操作" width="50">
                    <template slot-scope="scope">
                        <span style="color:red;font-size:16px" @click.prevent="delRow(scope.row,scope.$index)"><i class="el-icon-minus"></i></span>
                    </template>
                </el-table-column>
            </el-table>
        </div>
        
    </body>
    <script src="https://cdn.bootcss.com/vue/2.5.1/vue.min.js"></script>
    <script src="https://cdn.bootcss.com/element-ui/2.3.9/index.js"></script>
    <script src="/tableop.js"></script>
    </html>

js部分:

 var apps = new Vue({
      el: "#apps",
      data(){
        return{
            tableData: [{
                date: '2016-05-02',
                name: '王小虎1',
                number:0,
                address: '上 1518 弄'
            }, {
                date: '2016-05-04',
                name: '王小虎2',
                number:0,
                address: '上海  弄'
            }, {
                date: '2016-05-01',
                name: '王小虎3',
                number:0,
                address: '上弄'
            }, {
                date: '2016-05-03',
                name: '王小虎4',
                number:0,
                address: '上 弄'
            }],
            tableKey2: 0,
        }
      },
        created(){
        },
        methods: {
            addRow(row){
            //   console.log(row)
                row.number = row.number + 1
            },
            delRow(row){
            //   console.log(row)
                if (row.number != 0) {
                    row.number = row.number - 1
                }
            }
        },
    });
GitHub 加速计划 / eleme / element
54.06 K
14.63 K
下载
A Vue.js 2.0 UI Toolkit for Web
最近提交(Master分支:1 个月前 )
c345bb45 5 个月前
a07f3a59 * Update transition.md * Update table.md * Update transition.md * Update table.md * Update transition.md * Update table.md * Update table.md * Update transition.md * Update popover.md 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐