Vue3 使用v-for 渲染列表数据后更新

通过axios获取后台数组对象,使用v-for渲染,并实现修改

*本文不使用vue脚手架编写

1、html渲染部分

<ul v-for="(item,index) in sklist" :key="index">
    <li>{{item.name}},{{item.age}}</li>
    <li><button @click="editName(index)">修改Name</button></li>
</ul>

2、vue 代码

const { createApp, ref,watch,reactive, onMounted } = Vue;
    createApp({
        setup() {
            //定义响应式变量
           let list=ref([]);
           
          //获取后台数据,赋值list
          onMounted(() => {
                console.log('初始化');
                axios.get('/api/getList')
                    .then(function(response){
                        list.value=response.data;
                    })
                    .catch(function (error) {
                        console.log(error);
                    });
            });

            //修改name
            function editName(idx)
            {
               list.value[idx].name='new Name';
            }


           //返回变量
           return {list,editName}
          }
     }).mount('#app');

总结:在渲染时,对需要修改的数据,可以使用index编号传递给函数,这样函数可以通过index定位数据的位置,然后进而处理对象的具体属性值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值