【Vue入门实践2】不调后端接口==>单纯前端实现添加和删除功能==>【数组操作】数组的遍历、差集、过滤、切割、添加、删除操

this.resourcePzTableData = this.resourcePzTableData.concat(diff);

// 返回上级页面并刷新数据

this.pageindex = 2;

this.page = 0;

// 隐藏侧边栏资源分组树

this.$store.state.treeShow = false;

},

step1:拿到选中的添加资源数组addItem。使用filter过滤函数。计算addItem和resourcePzTableData的补集diff

addItem = [1,2,3,4]

resourcePzTableData = [3,4,6,7,8,9]

diff = [1,2]

step2: 将数组差集diff,使用concat方法,添加到原有数组后面

step3: 返回上级页面、显示列表

2.前端假删除


handleResourcePzDelete(row) {

const resourcePzIds = row.id == undefined ? this.ids : [row.id];

// debugger;

const ids = row.id != undefined ? [row.id] : this.ids;

const vm = this;

this.$modal

.confirm(“是否确认删除?”)

.then(function () {

// return deleteData({ ids: stuffPzIds });

console.log(“删除前”, vm.resourcePzTableData);

for (var value of ids) {

vm.resourcePzTableData.splice(

vm.resourcePzTableData.findIndex((item) => item.id == value),

1

);

}

console.log(“删除后”, vm.resourcePzTableData);

})

.then(() => {

this.getResourcePzList();

this.$message.success(“删除成功”);

})

.catch(() => {});

},

step1: 根据复选框找到需要删除的id

step2:  使用splice切割数组,删除掉使用findIndex找到的资源行


看懂了就不用看下面的详细功能讲解了。

目录

假添加删除摘要速览

1.前端假添加

2.前端假删除

一、前端页面以及功能概述

1.资源配置页

2.添加资源页

3.添加资源组页

二、前端假添加功能实现

1.前端页面布局

(1)资源配置页

(2)添加资源页

2.获取已绑定资源列表和全部资源列表

(1)资源配置页----已绑定资源列表

(2)添加资源页-----全部资源列表

3.前端假添加/删除操作

(1)多选框选中数据

(2) 假添加实现

(3)假删除实现

三、最终提交绑定


一、前端页面以及功能概述

============

1.资源配置页


(1)【列表】页面加载已经绑定的资源列表

(2)【添加资源】点击按钮跳转到添加资源页面

(3)【添加资源组】点击按钮跳转到添加资源组页面

(4)【删除】点击按钮删除列表中的一行数据!!前端列表操作删除,不调接口

(5)【保存】点击保存按钮,向后端发送请求,传递资源id数组,实现绑定

2.添加资源页


(1)【查询 重置】正常的页面查询和列表重置功能,不做赘述

(2)【确定】选择资源行数据后点击‘确定’按钮。系统返回资源配置页,并在资源配置页列表中添加选中的行(前端实现,不涉及后端保存)。如果有重复数据,前端剔除,并提示。

 3.添加资源组页


(1)【选择资源分组】在左侧资源分组树中选择资源分组

(2)【确定】点击后,请求后端接口,返回数据,同添加资源,在此不做赘述

二、前端假添加功能实现

===========

1.前端页面布局


(1)资源配置页

table涉及的数组为  resourcePzTableData

<el-table

:data=“resourcePzTableData”

fit

border

stripe

@selection-change=“handleSelectionChange”

<el-button

type=“text”

:style=“‘padding:none’”

@click=“handleResourcePzDelete(scope.row)”

删除</el-button

<el-button type=“primary” size=“mini” @click=“resourceAddSubmit”

保 存

pzId: undefined, //资源配置选中id

activeName: “first”,

pageindex: 2, // 控制显示哪个页面

//资源配置

resourcePzTableData: [

{

id: “1”,

name: “运维资源假数据”,

},

{

id: “2”,

name: “运维资源假数据2”,

},

],

resourcePageInfo: {

pageNum: 1,

pageSize: 10,

total: 0,

},

radio: 1,

resourceList: [], //资源列表

(2)添加资源页

添加资源页的数组为resourceList

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
img

效又漫长,而且极易碰到天花板技术停滞不前!**
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-iwk1hVXY-1710902413678)]
[外链图片转存中…(img-RRKDvoRd-1710902413679)]
[外链图片转存中…(img-kJZfc9cI-1710902413680)]
[外链图片转存中…(img-Dfq3SwWH-1710902413680)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
[外链图片转存中…(img-WnOTCwFU-1710902413681)]

  • 23
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3实现打印功能,需要先在后端数组类型的数据转换成字符串类型,然后将数据传送到前端前端再将字符串类型的数据转换成数组类型的数据进行展示和打印。 以下是一个简单的示例代码: 后端(假设使用Node.js): ```javascript const express = require('express'); const app = express(); app.get('/data', (req, res) => { const data = ['apple', 'banana', 'orange']; res.send(data.join(',')); }); app.listen(3000, () => { console.log('Server is running on port 3000'); }); ``` 前端: ```vue <template> <div> <button @click="printData">Print Data</button> <ul> <li v-for="(item, index) in dataList" :key="index">{{ item }}</li> </ul> </div> </template> <script> import axios from 'axios'; export default { name: 'PrintData', data() { return { dataList: [], }; }, methods: { fetchData() { axios.get('/data').then((response) => { this.dataList = response.data.split(','); }); }, printData() { window.print(); }, }, mounted() { this.fetchData(); }, }; </script> ``` 在上面的代码中,我们首先在后端定义了一个路由 `/data`,用于返回数组类型的数据,但是我们将其转换成了字符串类型并使用 `join()` 方法将数组中的元素使用逗号拼接成一个字符串。然后在前端,我们使用 `axios` 库向后端发起请求获取数据,并在获取数据后使用 `split()` 方法将字符串类型的数据转换成数组类型的数据进行展示和打印。同时,我们在页面中添加了一个按钮,当用户点击时,会触发 `window.print()` 方法,用于打印当前页面的内容。 注意:如果要使用 `window.print()` 方法打印页面,需要将页面中不需要打印的元素设置为不可见或者隐藏,否则会一起打印出来。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值