Vue 表格小例子

html

<div id="app2">
    <input type="text" v-model="xuhao">
    <input type="text" v-model="name">
    <input type="text" v-model="price">
    <input type="text" v-model="pname" placeholder="请输入筛选条件">
    <button @click="addData" >添加</button>
    <table>
        <tr>
            <td>序号</td>
            <td>品牌</td>
            <td>创建日期</td>
            <td>价格</td>
            <td>操作</td>
        </tr>
        <tr v-if="list2.length==0">
            <td colspan="4">当前无记录</td>
        </tr>
        <!--| filterBy pname in 'pinpai-->
        <tr v-for="i in list2 | filterBy pname in 'pinpai' ">
            <td>{{i.xuhao}}</td>
            <td>{{i.pinpai}}</td>
            <td>{{i.time}}</td>
            <td>{{i.price}}</td>
            <td>
                <button @click="deleateData(i.xuhao)">删除</button>
            </td>
        </tr>
    </table>
</div>
<script src="http://static.runoob.com/assets/vue/1.0.11/vue.min.js"></script>

css

<style> table{ width: 300px; font-size: 16px; font-weight: 600; text-align: center; } table tr td{ border: 1px solid cornflowerblue; } </style>

 

js

var myDate = new Date();
new Vue({
    el: "#app2",
    data: {
        list: [
            {
                "xuhao": 1,
                "pinpai": "宝马",
                "time": myDate.toLocaleDateString(),
                "price": 890000
            }
        ],
        list2: [
            {
                "xuhao": 1,
                "pinpai": "宝马",
                "time": myDate.toLocaleDateString(),
                "price": 890000
            },
            {
                "xuhao": 2,
                "pinpai": "宝马",
                "time": myDate.toLocaleDateString(),
                "price": 890000
            },
            {
                "xuhao": 2,
                "pinpai": "aaaaaaaaaa",
                "time": myDate.toLocaleDateString(),
                "price": 890000
            }
        ],
        xuhao: 0,
        name: "",
        price: "",
        pname:'',
    },
    methods: {
        addData: function () {
            var newList = {
                "xuhao": this.xuhao,
                "pinpai": this.name,
                "time": myDate.toLocaleDateString(),
                "price": this.price,

            }
            this.list2.push(newList);
            this.xuhao = 0;
            this.name = "";
            this.price = "";
        },
        deleateData: function (id) {

            if (!confirm("是否要删除数据?")) {
                return;
            }
            //判断索引的位置
            var weizhi = this.list2.findIndex(
                function (item) {
                    return item.xuhao == id
                }
            )
            //删除选中的索引
            this.list2.splice(weizhi, 1)
            console.log(id);
        }
    }
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue表格中,计算属性是通过computed选项来定义的。computed属性可以用来根据其他属性的值计算出一个新的值,并且会在相关属性发生变化时自动更新。它的优点是可以将复杂的计算逻辑写在计算属性中,并且会缓存计算结果,提高程序的性能。 计算属性的定义格式为方法格式,通过return语句返回计算结果。在Vue实例中,可以将计算属性定义在computed节点下。例如,可以定义一个计算属性来计算表格中的总数: computed: { total() { // 计算表格中的总数 let sum = 0; this.tableData.forEach(item => { sum += item.value; }); return sum; } } 在这个例子中,total是计算属性的名称,通过遍历tableData数组计算出总数,并将结果返回。在模板中可以直接使用total来显示计算结果。 另外,需要注意的是,计算属性和methods的区别在于计算属性会缓存计算结果,只有相关属性发生变化时才会重新计算,而methods在每次调用时都会重新执行。所以在需要频繁调用的情况下,建议使用计算属性来提高性能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Vue2.0(计算属性)](https://blog.csdn.net/nideyida1/article/details/120263895)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [vue中的计算属性computed](https://blog.csdn.net/weixin_45586870/article/details/122850389)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值