【vue表格案例分享】

用vue实现表格的增删查改,可显示序号、姓名、年龄

(1)使用id选择器

<div id="app">
    <table border="1" cellspacing="0"cellpadding="20">
        <tr>
            <th>序号</th>
            <th>姓名</th>
            <th>年龄</th>
            <th>操作|<button @click="addHero">新增</button></th>
        </tr>
        <tr v-for="hero in heroList">
            <td>{{hero.id}}</td>
            <td>{{hero.name}}</td>
            <td>{{hero.age}}</td>
            <td><button @click="deleteHero(hero.id)">删除</button>|<button>修改</button></td>
        </tr>
    </table>
        <div v-show="isInputShow">
            <h3>新增英雄</h3>

            <input type="text" v-model="hero.id"placeholder="请输入序号"><br><br>
            <input type="text" v-model="hero.name"placeholder="请输入姓名"><br><br>
            <input type="number" v-model="hero.age"placeholder="请输入年龄"><br><br>
            <input type="submit" @click="insertHero"><br><br>

  </div>
</div>

(2)创建vue案例,并实现部分功能

<script>
    new Vue({
        el:'#app',
        data:{
            //控制表单隐藏和显示
            isInputShow:false,
            //双向绑定实现表单的获取
             hero:{
                 id:'',
                 name:'',
                 age:'',
             },
            heroList:[
                {id:1,name:'曹操',age:36},
                {id:2,name:'刘备',age:32},
                {id:3,name:'孙权',age:28},
            ]
        },
        methods: {
            deleteHero(id) {
                //alert(id)
                this.heroList = this.heroList.filter((e, i) => {
                    return e.id != id/*不等于id的就留下来,等于id的就删掉*/
                })
            },

            addHero(){
                this.isInputShow=!this.isInputShow
            },

            insertHero() {

                console.log(this.hero)
                this.heroList.push(this.hero)
            }
        }
    })
</script>

(3)完整代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>vue表格案例</title>
    <script src="vue.min.js"></script>
</head>
<body>
<div id="app">
    <table border="1" cellspacing="0"cellpadding="20">
        <tr>
            <th>序号</th>
            <th>姓名</th>
            <th>年龄</th>
            <th>操作|<button @click="addHero">新增</button></th>
        </tr>
        <tr v-for="hero in heroList">
            <td>{{hero.id}}</td>
            <td>{{hero.name}}</td>
            <td>{{hero.age}}</td>
            <td><button @click="deleteHero(hero.id)">删除</button>|<button>修改</button></td>
        </tr>
    </table>
        <div v-show="isInputShow">
            <h3>新增英雄</h3>

            <input type="text" v-model="hero.id"placeholder="请输入序号"><br><br>
            <input type="text" v-model="hero.name"placeholder="请输入姓名"><br><br>
            <input type="number" v-model="hero.age"placeholder="请输入年龄"><br><br>
            <input type="submit" @click="insertHero"><br><br>

  </div>
</div>
</body>
<script>
    new Vue({
        el:'#app',
        data:{
            //控制表单隐藏和显示
            isInputShow:false,
            //双向绑定实现表单的获取
             hero:{
                 id:'',
                 name:'',
                 age:'',
             },
            heroList:[
                {id:1,name:'曹操',age:36},
                {id:2,name:'刘备',age:32},
                {id:3,name:'孙权',age:28},
            ]
        },
        methods: {
            deleteHero(id) {
                //alert(id)
                this.heroList = this.heroList.filter((e, i) => {
                    return e.id != id/*不等于id的就留下来,等于id的就删掉*/
                })
            },

            addHero(){
                this.isInputShow=!this.isInputShow
            },

            insertHero() {

                console.log(this.hero)
                this.heroList.push(this.hero)
            }
        }
    })
</script>
</html>

(4)运行结果如下(注意:点击新增后才会有新增的页面)

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fairy.582

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值