使用Vue单文件组件添加删除列表

单文件组件

单文件组件(.vue)包含三个部分:
1、template:放HTML
2、script:放JS
3、style:放CSS

创建一个Vue项目

前提:安装nodejs&git

1、安装vue和vue-cli
// 最新稳定版
npm install -g vue
// 安装vue-cli脚手架构建工具
npm install -g vue-cli
2、安装webpack和weback-cli
npm install -g webpack
npm install -g webpack-cli
3、新建项目

方式一:npm终端新建项目

// 创建一个基于 webpack 模板的新项目
vue init webpack my-project
// 这里需要进行一些配置,默认回车即可

方式二:用webstorm创建一个新的Vue项目
a、点击菜单File–>New–>project,打开新建项目窗口,进行项目配置
在这里插入图片描述

b、选择vue.js,对项目进行命名,点击next,过程中会有其他信息的配置,并询问你是否需要安装vue-router,根据自身情况选择

4、运行项目

方式一:转到项目名称路径下,在终端输入

npm run dev
/或
npm run build

方式二:webstorm打开终端,在webstorm中输入上述指令
打开webstorm的终端方式:菜单栏点击Vew —> Tool Windows -->Terminal
在这里插入图片描述
在终端中输入npm run dev,项目可在http://localhost:8080下打开运行

Vue的项目结构

项目结构如下:
在这里插入图片描述

├── build/ # Webpack 配置目录
├── dist/ # build 生成的生产环境下的项目
├── config/ # Vue基本配置文件,可以设置监听端口,打包输出等
├── node_modules/ # 依赖包,通常执行npm i会生成
├── src/ # 源码目录(开发的项目文件都在此文件中写)
│ ├── assets/ # 放置需要经由 Webpack 处理的静态文件,通常为样式类文件,如css,sass以及一些外部的js
│ ├── components/ # 公共组件
│ ├── routes/ # 路由,此处配置项目路由
│ ├── App.vue # 根组件
│ ├── main.js # 入口文件
├── index.html # 主页,打开网页后最先访问的页面
├── static/ # 放置无需经由 Webpack 处理的静态文件,通常放置图片类资源
├── .babelrc # Babel 转码配置
├── .editorconfig # 代码格式
├── .eslintignore # (配置)ESLint 检查中需忽略的文件(夹)
├── .eslintrc # ESLint 配置
├── .gitignore # (配置)在上传中需被 Git 忽略的文件(夹)
├── package.json # 本项目的配置信息,启动方式
├── package-lock.json # 记录当前状态下实际安装的各个npm package的具体来源和版本号
├── README.md # 项目说明(很重要,便于其他人看懂)

我们需要在src文件下进行文件的操作
默认情况下,构建的项目含有一个HelloWorld.vue的单文件组件,为了实现下图对列表进行添加、删除操作
在这里插入图片描述

实现思路

总体思路需要list数组存储数据信息,并且加入删除(delete)、添加(add)方法,并表单输入框数据输入进行双向绑定。
主要是将页面分成了三个组件:
1、TopContent.vue负责顶部的输入框监听和添加按钮的操作
2、TableRow.vue负责对表格每行数据的展示和对应行的删除
3、MainContent.vue负责整合TopContent和整体表格展示
4、MainContent.中定义的list和add delete方法需要向下传递给子组件,子组件通过$emit触发方法

1、TopContent.vue

模板渲染部分:

<template>
  <div class="panel-body form-inline">
    <label>
      ID:
      <input
        type= 'text'
        class= 'form-control'
        v-model= 'newID'
      />
    </label>
    <label>
      Name:
      <input
        type= 'text'
        class= 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对于Vue3文件上传删除功能,你可以使用以下步骤: 1. 创建一个文件上传组件,在该组件添加上传文件的功能。 2. 在文件上传组件中,添加一个删除文件的按钮。 3. 在点击删除按钮时,将该文件文件名传递给一个删除文件的方法。 4. 在删除文件的方法中,使用axios或者其他的网络请求库,向后端发送一个删除文件的请求。 5. 当后端成功删除文件时,将该文件文件列表删除。 下面是一个简Vue3文件上传删除功能的代码示例: ```vue <template> <div> <input type="file" @change="onFileChange"> <button @click="deleteFile">删除文件</button> <ul> <li v-for="(file, index) in fileList" :key="index">{{file.name}}</li> </ul> </div> </template> <script> import { reactive } from 'vue' import axios from 'axios' export default { setup() { const state = reactive({ fileList: [] }) const onFileChange = (event) => { const files = event.target.files for (let i = 0; i < files.length; i++) { state.fileList.push(files[i]) } } const deleteFile = () => { const fileName = state.fileList[0].name // 假设只有一个文件 axios.delete(`/api/file/${fileName}`).then(() => { state.fileList.splice(0, 1) }) } return { state, onFileChange, deleteFile } } } ``` 在这个示例代码中,我们假设后端提供了一个删除文件的API,该API的URL为`/api/file/${fileName}`,其中`fileName`是要删除文件文件名。在点击删除按钮时,我们发送一个DELETE请求到该API,请求成功后,将该文件文件列表删除

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值