广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue 数组添加数据方式
  • 666
分享到

vue 数组添加数据方式

2024-04-02 19:04:59 666人浏览 八月长安
摘要

目录Vue 数组添加数据数据添加分为三种方法动态向数组中添加对象(关于v-for,input和push)核心:深拷贝vue 数组添加数据 数据添加分为三种方法 1.unshift()

vue 数组添加数据

数据添加分为三种方法

  • 1.unshift()
  • 2.push()
  • 3.splice()
<template>
      <div>
        <ul>
          <li v-for="(time,index) of listTable" :key="index" @click="copyNew(time,index)">
            {{time.id}}{{time.name1}}{{time.name2}} 添加
          </li>
        </ul>
    </div>
</template>
<script>
export default {
     data(){
        return{
          listTable:[
            {id:'1',name1:'a1',name2:'b1'},
            {id:'2',name1:'a2',name2:'b2'},
            {id:'3',name1:'a3',name2:'b3'},
          ],
        }
      },
 }
 </script>

1.unshift() //数组头部添加一条新数据

let newList = {
   id:'4'
   name1:'a4',
   name2:'b4',
 }
this.listTable.unshift(newList)  //unshift()在数组头部添加一条数据 
console.log(this.listTable)

2.push() //数组末端添加一条新数据

this.listTable.push(newList)  //push()在数组末端添加一条数据 
console.log(this.listTable)

3.splice() //数组操作

 copyNew(time,index){
   console.log(time)
   let newList = {
     id:time.id,
     name1:time.name1,
     name2:time.name2,
   }
   //第一个参数为需要操作数据的下标,第二个参数为操作添加/删除(0为添加,1为不操作,2为删除,3为删除多条数据),第三个参数可选
   this.listTable.splice(index,0,newList) 
   console.log(this.listTable)
 }

4.concat() // 数组合并

let arrA = [1,2,3]
let arrB = [4,5]
arrA.concat(arrB) // 输出 1,2,3,4,5
let arrC = [6,7]
arrA.concat(arrB,arrC) // 输出 1,2,3,4,5,6,7

动态向数组中添加对象(关于v-for,input和push)

核心:深拷贝

第一步:

写在data(): 设datas数组,以及datas中需求的对象

datas: [],
data_fORMInput: {
    keyWord: '',//关键字
    describe: '',//描述
},

第二步:(对象中的属性,input中的数据)双向绑定

<view class="box" v-show="box_show">
    <view class="box_text">请输入关键字</view><input type="text" v-model="data_formInput.keyword" />
    <view class="box_text">请输入描述</view><input type="text" v-model="data_formInput.describe" />
    <button type="default" @click='create'>确定</button>
</view>

第三步:深拷贝保存数据并置空input

create() {
//这里要设一个对象来进行深拷贝才能避免每次push的时候都被最后一次提交的数据覆盖,也可以避免置空的时候数据丢失
    let obj = {
        keyword: this.data_formInput.keyword,
        describe: this.data_formInput.describe
    }
    this.datas.push(obj);
    this.data_formInput.keyword = ''//提交input之后置空
    this.data_formInput.describe = ''
},

第四步:循环显示刚刚input提交的数据

<button type="default" v-for="(item,index) in datas" :key='index' @click='open(item.describe)'>
      {{item.keyword}}
</button>

放一段完整代码:

挺多的,实现了点击添加关键字按钮的时候打开输入关键字和描述,提交的页面,点击提交的时候显示已保存的关键字数据。逻辑很简单,主要是记录一下这里的深拷贝。

<template>
    <view class="">
        
        
        <!-- 这里是输入关键字和描述 -->
        <view class="box" v-show="box_show">
            <view class="box_text">请输入关键字</view><input type="text" v-model="data_formInput.keyword" />
            <view class="box_text">请输入描述</view><input type="text" v-model="data_formInput.describe" />
            <button type="default" @click='create'>确定</button>
        </view>
        
        
        
        <!-- 这里显示已提交的关键字以及添加关键字按钮 -->
        <view v-show="button_show">
            <button type="default" v-for="(item,index) in datas" :key='index'
                @click='open(item.describe)'>{{item.keyword}}</button>
            <u-popup :show="show" @close="close" mode="center" round=20 closeable=true>
                <view>
                    {{show_describe}}
                </view>
            </u-popup>
            <button type="default" @click='open_box'>添加关键字</button>
        </view>
        
        
    </view>
</template>
<script>
    export default {
        data() {
            return {
                datas: [],
                data_formInput: {
                    keyword: '', //关键字
                    describe: '', //描述
                },
                show_describe: '',
                show: false,
                box_show: false,
                button_show: true,
            }
        },
        methods: {
            create() {
                let obj = {
                    keyword: this.data_formInput.keyword,
                    describe: this.data_formInput.describe
                }
                this.datas.push(obj);
                this.data_formInput.keyword = ''//提交input之后置空
                this.data_formInput.describe = ''
                this.box_show = false
                this.button_show = true
            },
            // 打开描述
            open(t) {
                this.show = true
                this.show_describe = t
            },
            close() {
                this.show = false
            },
            open_box() {
                this.box_show = true
                this.button_show = false
            }
        }
    }
</script>
<style scoped>
    .box {
        width: 100%;
        height: 500rpx;
        overflow: hidden;
        
        background-image: url(/file/imgs/upload/202211/13/ub4weucu2zm.jpg);
        background-repeat: no-repeat;
        background-size: cover;
    }
    .box_text {
        text-align: center;
        margin-bottom: 20rpx;
    }
    input {
        width: 80%;
        height: 30rpx;
        border: 1rpx solid black;
        margin-top: 50rpx;
        overflow: hidden;
        margin: 10rpx auto;
        padding-left: 20rpx;
        font-size: 25rpx;
    }
</style>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。 

--结束END--

本文标题: vue 数组添加数据方式

本文链接: https://www.lsjlt.com/news/165807.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue 数组添加数据方式
    目录vue 数组添加数据数据添加分为三种方法动态向数组中添加对象(关于v-for,input和push)核心:深拷贝vue 数组添加数据 数据添加分为三种方法 1.unshift()...
    99+
    2022-11-13
  • vue添加vue-awesome-swiper轮播组件方式
    目录添加vue-awesome-swiper轮播组件vue-awesome-swiper不轮播问题添加vue-awesome-swiper轮播组件 1.vue项目中添加swiper组...
    99+
    2022-11-13
    vue添加vue-awesome-swiper vue-awesome-swiper轮播组件 vue vue-awesome-swiper
  • Vue实现添加数据到二维数组并显示
    目录添加数据到二维数组并显示读取二维数组添加数据到二维数组并显示 <li v-for="(item, index) in studentlist" :key="index"&g...
    99+
    2022-11-13
  • mysql-数据库-在表中添加数据三种方式
    创建数据库和表 mysql> create database mydb4;Query OK, 1 row affected (0.01 sec)mysql> use mydb4;Database changedmysql> create ...
    99+
    2023-10-07
    数据库 mysql
  • php数组怎么添加数据库中
    在PHP编程语言中,将数组添加到数据库中是一种非常常见的操作。在实际的应用程序中,您可能需要从数组中提取数据,并将其插入到数据库中,以便进行后续的查询或分析。在这篇文章中,我们将讨论如何使用PHP将数组添加到数据库中。首先,我们将探讨如何将...
    99+
    2023-05-23
  • python元组怎么添加数据
    Python元组是不可变的,也就是说不能直接添加或删除元素。不过可以通过以下两种方式来"添加"数据:1. 合并元组:使用"+"操作符...
    99+
    2023-10-20
    python
  • MySQL数据库——MySQL数据表添加字段(三种方式)
    MySQL 数据表是由行和列构成的,通常把表的“列”称为字段(Field),把表的“行”称为记录(Record)。随着业务的变化,可能需要在已有的表中添加新的字段。 MySQL 允许在开头、中间和结尾处添加字段。 在末尾添加字段 一个完整的...
    99+
    2023-09-03
    数据库 mysql sql
  • python元组添加数据的方法是什么
    在 Python 中,元组是不可变的数据类型,因此不能直接修改或添加元组的元素。但可以通过以下方法间接实现添加数据到元组的目的:1....
    99+
    2023-09-14
    python
  • php 怎么往数组里添加数据库
    PHP 是一种广泛使用的开源服务器端脚本语言,它可以用于开发 Web 应用程序,动态网站,命令行脚本或其他类型的应用程序。在 PHP 中,数组是一种常用的数据结构,可以存储多个值。当我们需要将数据库中的数据存储到 PHP 数组中时,我们需要...
    99+
    2023-05-19
  • java怎么自定义数组添加数据
    在Java中,可以通过以下几种方式自定义数组添加数据:1. 使用循环逐个添加数据:通过使用循环,可以逐个向数组中添加数据。首先需要创...
    99+
    2023-09-26
    java
  • springboot+dynamicDataSource动态添加切换数据源方式
    目录springboot dynamicDataSource动态添加切换数据源1.修改初始加载的数据源map2.此时一开始的时候就会加载数据库中的3.但是发现新增数据源或修改数据源时...
    99+
    2022-11-12
  • mysql数据库添加外键的四种方式
    文章目录 一、添加外键的四种方式二、文档下载 一、添加外键的四种方式 1、 建表时直接使用FOREIGN KEY,这种方式外键名称自动生成。如下图。 FOREIGN KEY (user_...
    99+
    2023-10-02
    数据库 mysql
  • SpringBoot+Vue实现数据添加功能
    一、添加代码生成器 用来自动为数据库映射类建立:mapper、service、controller 注:代码生成器的写法,参考官方文档:https://mp.baomidou.co...
    99+
    2022-11-11
  • 【python】array数组添加一行或一列数据
    目录 0.环境 1.背景 2.具体实现 2.1思路 2.2具体实现  2.2.1 增加一列  2.2.2增加一行 3. 完整代码 0.环境 windows + jupyter notebook跑代码 1.背景 在实现数据可视化...
    99+
    2023-09-26
    python 开发语言
  • MySQL数据表添加字段的方式有哪些
    这篇文章主要介绍“MySQL数据表添加字段的方式有哪些”,在日常操作中,相信很多人在MySQL数据表添加字段的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL数据表添加字段的方式有哪些”的疑...
    99+
    2023-07-05
  • php怎么添加数组
    在PHP中,数组是一种重要的数据类型,它可以用来存储多个值。在PHP中,可以使用多种方式来添加数组元素。下面我们将介绍几种常用的方法。1.使用array_push()函数array_push()函数是一个快速向数组末尾添加一个或多个元素的方...
    99+
    2023-05-19
  • vue如何添加数组页面及时显示
    目录如何添加数组页面及时显示给对象中添加数组如何添加数组页面及时显示 最近在做vue相关的项目,在过程中,遇到了很多问题,有的解决了,有的还没解决,其中一个比较好的问题是,一个评论回...
    99+
    2022-11-13
  • vue怎么添加数组页面及时显示
    今天小编给大家分享一下vue怎么添加数组页面及时显示的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。如何添加数组页面及时显示最...
    99+
    2023-06-30
  • 编写Vue项目,如何给数组的第一位添加对象数据
    目录Vue给数组第一位添加对象数据给数组添加新对象并赋值Vue给数组第一位添加对象数据 核心代码如下:      this.menuBar.unshift({           t...
    99+
    2022-11-13
  • Java数组添加元素的两种方法
    目录说在前面方式一:方式二:说在前面 数组在使用前,长度就已固定,所以原数组长度是不能再改变了,基于此,提供如下两种方式,给数组添加数据。具体代码如下 方式一: 创建一个新数组,长度...
    99+
    2023-05-17
    Java 数组添加元素 Java数组
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作