返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue中搭配Bootstrap实现Vue的列表增删功能
  • 265
分享到

Vue中搭配Bootstrap实现Vue的列表增删功能

vue bootstrap列表增删vue 列表增删bootstrap增删 2022-11-13 19:11:27 265人浏览 独家记忆
摘要

在日常开发中,我们可以用 “拿来主义” 借助Bootstarp现成的一些样式,快速生成我们想要的页面布局,避免书写大量的html和CSS代码,省下了许多不必要

在日常开发中,我们可以用 “拿来主义” 借助Bootstarp现成的一些样式,快速生成我们想要的页面布局,避免书写大量的htmlCSS代码,省下了许多不必要的时间。

当我们想要生成表单表格时我们可以查看Bootstrap的官方文档,来选择我们想要的样式,并根据自己的一些实际情况或者个人喜好进行一定的修改。了解Bootstrap

为了直接搭配Vue使用,我们把表单代码直接复制到 root 容器里面。

<div id="root">
    <!-- 卡片区域 -->
    <div class="card">
        <div class="card-header">添加水果</div>
        <div class="card-body">
            <!-- 添加品牌的表单区域 -->
            <fORM>
                <div class="form-row align-items-center">
                    <div class="col-auto">
                        <div class="input-group mb-2">
                            <div class="input-group-prepend">
                                <div class="input-group-text">水果名称</div>
                            </div>
                            <input type="text" class="form-control" placeholder="请输入水果名字">
                        </div>
                    </div>
                    <div class="col-auto">
                        <button type="submit" class="btn btn-primary mb-2">添加</button>
                    </div>
                </div>
            </form>
        </div>
    </div>
</div>

这边借助一下Bootstrap中的card(卡片)进行布局,扩充一下宽度。 

接下来我们在借助Bootstrap生成一个表格部分:


<table class="table table-border table-hover table-striped">
    <thead>
        <tr>
            <th scope="col">ID</th>
            <th scope="col">水果名称</th>
            <th scope="col">状态</th>
            <th scope="col">添加时间</th>
            <th scope="col">操作</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <th scope="row">1</th>
            <td>苹果</td>
            <td>
                <div class="custom-control custom-switch">
                    <input type="checkbox" class="custom-control-input" id="customSwitch1">
                    <label class="custom-control-label" for="customSwitch1">已禁用</label>
                </div>
            </td>
            <td>时间</td>
            <td>
                <a href="javascript:'" rel="external nofollow"  rel="external nofollow" >删除</a>
            </td>
        </tr>
    </tbody>
</table>

表格结构写完之后,接下里我们就要使用Vue对表格进行填充数据了。

<script src="/vue.js/vue.js"></script>
<script>
    Vue.config.productionTip = false; //阻止 vue 在启动时生成生产提示
    const vm = new Vue({
        data: {
            list: [
                { id: 1, name: '苹果', status: true, time: new Date() },
                { id: 2, name: '香蕉', status: true, time: new Date() },
                { id: 3, name: '葡萄', status: false, time: new Date() },
                { id: 4, name: '桃子', status: true, time: new Date() },
            ]
        }
    })
    vm.$mount('#root')
</script>

接下里给删除操作绑定点击事件,如下:

给a链接绑定一个删除的点击事件。

我们使用filter进行过滤掉删除的数组,当前循环项的item.id不等于我们要删的id,就返回。

接下来我们实现水果的添加功能。

给输入框设置双向绑定事件,给表单设置提交事件并添加阻止事件。

定义用户输入的水果名称以及下一个可用的ID :

给绑定的add事件添加判断行为:

现在基本的添加删除功能已经完成,请看效果:

完整代码:

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta Http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="/Bootstrap/bootstrap.css" rel="external nofollow" >
    <style>
        body {
            padding: 15px;
 
        }
    </style>
</head>
 
<body>
    <div id="root">
        <!-- 卡片区域 -->
        <div class="card">
            <div class="card-header">添加水果</div>
            <div class="card-body">
                <!-- 添加品牌的表单区域 -->
                <form @submit.prevent="add">
                    <div class="form-row align-items-center">
                        <div class="col-auto">
                            <div class="input-group mb-2">
                                <div class="input-group-prepend">
                                    <div class="input-group-text">水果名称</div>
                                </div>
                                <input type="text" class="form-control" placeholder="请输入水果名字" v-model.trim="brand">
                            </div>
                        </div>
                        <div class="col-auto">
                            <button type="submit" class="btn btn-primary mb-2">添加</button>
                        </div>
                    </div>
                </form>
            </div>
        </div>
 
        <!-- 表格区域 -->
        <table class="table table-border table-hover table-striped">
            <thead>
                <tr>
                    <th scope="col">ID</th>
                    <th scope="col">水果名称</th>
                    <th scope="col">状态</th>
                    <th scope="col">添加时间</th>
                    <th scope="col">操作</th>
                </tr>
            </thead>
            <tbody>
                <tr v-for="item in list" :key="item.id">
                    <th scope="row">{{item.id}}</th>
                    <td>{{item.name}}</td>
                    <td>
                        <div class="custom-control custom-switch">
                            <input type="checkbox" class="custom-control-input" :id="'customSwitch'+item.id"
                                v-model="item.status">
                            <label class="custom-control-label" :for="'customSwitch'+item.id"
                                v-if="item.status">已启用</label>
                            <label class="custom-control-label" :for="'customSwitch'+item.id" v-else>已禁用</label>
                        </div>
                    </td>
                    <td>{{item.time}}</td>
                    <td>
                        <a href="javascript:'" rel="external nofollow"  rel="external nofollow"  @click="remove(item.id)">删除</a>
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
 
 
    <script src="/Vue.js/vue.js"></script>
    <script>
        Vue.config.productionTip = false; //阻止 vue 在启动时生成生产提示
        const vm = new Vue({
            data: {
                // 用户输入的水果名称
                brand: '',
                // nextID是下一个可用的 ID
                nextId: 5,
                list: [
                    { id: 1, name: '苹果', status: true, time: new Date() },
                    { id: 2, name: '香蕉', status: true, time: new Date() },
                    { id: 3, name: '葡萄', status: false, time: new Date() },
                    { id: 4, name: '桃子', status: true, time: new Date() },
                ]
            },
            methods: {
                // 点击链接删除对应的水果
                remove (id) {
                    this.list = this.list.filter(item => item.id !== id)
                },
                // 阻止表单的默认提交行为
                // 如果判断到brand的值为空字符串,则return出去
                add () {
                    if (this.brand === '') return alert('必须输入水果')
                    // 如果没有被return出去,应该执行添加逻辑
                    // 1.先把要添加的水果对象整理出来
                    const obj = {
                        id: this.nextId,
                        name:this.brand,
                        status:true,
                        time:new Date()
                    }
                    // 2.往this.list数组中push步骤一中得到的对象
                    this.list.push(obj)
                    // 3.清空this.brand让this.nextID自增+1
                    // this.brand=''
                    this.nextId++ 
                },
            }
        })
        vm.$mount('#root')
    </script>
</body>
 
</html>

到此这篇关于Vue中搭配Bootstrap实现Vue的列表增删功能的文章就介绍到这了,更多相关vue bootstrap列表增删内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Vue中搭配Bootstrap实现Vue的列表增删功能

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

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

猜你喜欢
  • Vue中搭配Bootstrap实现Vue的列表增删功能
    在日常开发中,我们可以用 “拿来主义” 借助Bootstarp现成的一些样式,快速生成我们想要的页面布局,避免书写大量的HTML和CSS代码,省下了许多不必要...
    99+
    2022-11-13
    vue bootstrap列表增删 vue 列表增删 bootstrap增删
  • vue实现表单数据的增删改功能
    本文实例为大家分享了vue实现表单数据增删改功能的具体代码,供大家参考,具体内容如下 图示如下: <!DOCTYPE html> <html lang="en"...
    99+
    2024-04-02
  • SpringBoot+Vue+Axios+BootStrap实现图书的增删改查功能示例
    目录一、开发工具二、项目结构三、编写项目四、运行项目由于是初学Vue、Axios,可能在界面和功能上存在着一些问题,但这些并不妨碍使用。如果有对编程感兴趣的朋友,可以试着做一做。这个...
    99+
    2024-04-02
  • Vueelement商品列表的增删改功能实现
    目录介绍 基本信息上传主图商品信息vue富文本编辑器的配置最后提交数据介绍  整体和用户列表 类似 功能步骤有: 面包屑导航外部是大的卡片组件搜索商品 添加商品...
    99+
    2024-04-02
  • springboot vue接口测试前端动态增删表单功能实现
    目录基于 springboot+vue 的测试平台开发页面实现1. 基础信息部分2. 请求参数部分3. 响应内容部分基于 springboot+vue 的测试平台开发 继续更新 目前...
    99+
    2024-04-02
  • bootstrap中如何实现multiselect下拉列表功能
    这篇文章主要为大家展示了“bootstrap中如何实现multiselect下拉列表功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“bootstrap中如何实...
    99+
    2024-04-02
  • vue怎么实现点击选中商品列表的功能
    最近在做一个电商网站,需要实现点击选中商品列表的功能,借着这个机会,学习了一下Vue框架。在Vue中,实现点击选中列表非常简单,只需要使用Vue提供的v-on指令和v-bind指令即可。首先,在模板中定义一个商品列表,每个商品后面都有一个c...
    99+
    2023-05-14
  • vue如何实现点击选中商品列表的功能
    本篇内容主要讲解“vue如何实现点击选中商品列表的功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue如何实现点击选中商品列表的功能”吧!在Vue中,实现点击选中列表非常简单,只需要使用Vu...
    99+
    2023-07-05
  • 基于vue实现循环滚动列表功能
    注意:需要给父容器一个height和:data='Array'和overfolw:hidden;左右滚动需要给ul容器一个初始化 css width。 先来介绍该组件的用法: 1.安...
    99+
    2024-04-02
  • vue实现表单验证功能
    本篇主要讲述如何基于NUXT的validate方法实现表单的验证。 将验证方法封装后,使用的时候只需像:rules="filter_rules({required:true,type...
    99+
    2024-04-02
  • vue实现发表评论功能
    本文实例为大家分享了vue实现发表评论的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html>     <head>  ...
    99+
    2024-04-02
  • vue实现表格分页功能
    本文实例为大家分享了vue实现表格分页功能的具体代码,供大家参考,具体内容如下 直接上代码: 这里是这里是template部分,主要由一个需要分页的表格和一个分页器组成。重点在于表格...
    99+
    2024-04-02
  • Mybatis基于xml配置实现单表的增删改查功能
    Mybatis入门-基于配置实现单表的增删改查 Mybatis简介 官网链接:https://mybatis.org/mybatis-3/zh/index.html。更加详细的信息可...
    99+
    2024-04-02
  • vue+vue-validator如何实现表单验证功能
    这篇文章主要为大家展示了“vue+vue-validator如何实现表单验证功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue+vue-validator...
    99+
    2024-04-02
  • vue+vue validator怎么实现表单验证功能
    今天小编给大家分享一下vue+vue validator怎么实现表单验证功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所...
    99+
    2024-04-02
  • Java实现顺序表的增删查改功能
    创建顺序表 在java语言中要实现顺序表,首先创建一个类,因为顺序表本身就像数组,所以我们这里定义一个int类型的数组和usedata为有效数据,构造方法里先申请可以存放10个数据的...
    99+
    2024-04-02
  • vue列表单项展开收缩功能怎么实现
    这篇文章主要讲解了“vue列表单项展开收缩功能怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue列表单项展开收缩功能怎么实现”吧!代码逻辑###template部分:已去除与本文不...
    99+
    2023-07-04
  • Vue使用el-tree 懒加载进行增删改查功能的实现
    关于vue的树形展示 使用到项目:以树的形式异步展现 效果图先放: 找到element-ui的官方文档,el-tree。(地址:https://element.eleme.cn/#...
    99+
    2024-04-02
  • vue怎么实现左滑删除功能
    本篇内容介绍了“vue怎么实现左滑删除功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!左滑删除,很多UI框架里有,比如Mint-UI, M...
    99+
    2023-07-04
  • vue实现表单验证小功能
    本文实例为大家分享了vue实现表单验证的具体代码,供大家参考,具体内容如下 1.路由跳转 先点开Vue项目中src目录配置router文件然后用import暴露你的表单页名称并在你的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作