位置: IT常识 - 正文

Vue--》搭配Bootstrap实现Vue的列表增删功能(vue怎么用bootstrap)

编辑:rootadmin
Vue--》搭配Bootstrap实现Vue的列表增删功能

推荐整理分享Vue--》搭配Bootstrap实现Vue的列表增删功能(vue怎么用bootstrap),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue结合bootstrap,vue怎么用bootstrap,vue和bootstrap混用,vue-bootstrap,vue +bootstrap,vuecli bootstrap,vue-bootstrap,vue+bootstrap4,内容如对您有帮助,希望把文章链接给更多的朋友!

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

当我们想要生成表单表格时我们可以查看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:'">删除</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>Vue--》搭配Bootstrap实现Vue的列表增删功能(vue怎么用bootstrap)

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

给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"> <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:'" @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>
本文链接地址:https://www.jiuchutong.com/zhishi/298780.html 转载请保留说明!

上一篇:Ubuntu20.04安装OpenCV(ubuntu20.04安装opencv3.4)

下一篇:VMware虚拟机安装Ubuntu 2022最新版详细图文安装教程(VMware虚拟机安装+Ubuntu下载+VMware虚拟机配置运行)(vmware虚拟机安装在移动硬盘)

  • 华为手表怎么换自己照片表盘(华为手表怎么换电池)

    华为手表怎么换自己照片表盘(华为手表怎么换电池)

  • 抖音大眼瘦脸功能在哪(大眼瘦脸开到什么程度合理)

    抖音大眼瘦脸功能在哪(大眼瘦脸开到什么程度合理)

  • 三星s10与s10+区别(三星s10与s10+哪个更值得买)

    三星s10与s10+区别(三星s10与s10+哪个更值得买)

  • 监控的初始密码一般是多少(监控的初始密码一般是什么)

    监控的初始密码一般是多少(监控的初始密码一般是什么)

  • 淘气值下降后对淘宝号有什么影响吗(淘气值 下降)

    淘气值下降后对淘宝号有什么影响吗(淘气值 下降)

  • 闲鱼永久封禁影响支付宝么(闲鱼永久封禁影响回收话费充值吗)

    闲鱼永久封禁影响支付宝么(闲鱼永久封禁影响回收话费充值吗)

  • 为什么wifi连接上却不能上网有叹号(为什么wifi连接超时)

    为什么wifi连接上却不能上网有叹号(为什么wifi连接超时)

  • 冒泡排序和交换排序的区别(冒泡排序和交换排序哪个好)

    冒泡排序和交换排序的区别(冒泡排序和交换排序哪个好)

  • 怎么关闭余利宝的自动转入(怎么关闭余利宝的银行卡自动转入)

    怎么关闭余利宝的自动转入(怎么关闭余利宝的银行卡自动转入)

  • 电脑主机开了灯不亮怎么回事(电脑主机开了灯一闪一闪)

    电脑主机开了灯不亮怎么回事(电脑主机开了灯一闪一闪)

  • 怎么一边录像一边放歌(怎么一边录像一边开闪光灯)

    怎么一边录像一边放歌(怎么一边录像一边开闪光灯)

  • 钉钉直播可以不露脸吗(钉钉直播可以不用耳机吗)

    钉钉直播可以不露脸吗(钉钉直播可以不用耳机吗)

  • 取关对方会不会有提示(取关对方会知道吗)

    取关对方会不会有提示(取关对方会知道吗)

  • 网盘压缩包在不开通会员的情况下如何打开(网盘压缩包在不开通会员的情况下如何打开ipad)

    网盘压缩包在不开通会员的情况下如何打开(网盘压缩包在不开通会员的情况下如何打开ipad)

  • iphonex怎么背景虚化(苹果x的背景)

    iphonex怎么背景虚化(苹果x的背景)

  • 单片机用什么软件编程(单片机用什么软件写程序)

    单片机用什么软件编程(单片机用什么软件写程序)

  • 大连苹果碎了可以保修吗(苹果打碎了)

    大连苹果碎了可以保修吗(苹果打碎了)

  • 南京地铁电子卡使用方法(南京地铁电子卡怎么用)

    南京地铁电子卡使用方法(南京地铁电子卡怎么用)

  • 通讯卫星是同步卫星吗(通迅卫星也称同步卫星,同步卫星若成为静止卫星)

    通讯卫星是同步卫星吗(通迅卫星也称同步卫星,同步卫星若成为静止卫星)

  • 苹果耳机免费换新条件(苹果耳机免费换电池)

    苹果耳机免费换新条件(苹果耳机免费换电池)

  • oppoa59s电池多少毫安(oppoa59s电池多少钱一块)

    oppoa59s电池多少毫安(oppoa59s电池多少钱一块)

  • 用友t3怎么反记账(用友t3怎么反记账取消审核)

    用友t3怎么反记账(用友t3怎么反记账取消审核)

  • Homoiconicity

    Homoiconicity

  • 税前扣除的项目包括
  • 关于资源税的问题
  • 合伙企业投资收益做账
  • 配件和修理费能一起用吗
  • 服务发票是增值税发票吗
  • 修缮服务开票项目一览表
  • 注册资本需要实交吗
  • 单位买绿植可以报销吗
  • 出口企业退税分录
  • 主营业务收入如何红冲
  • 用于研发的设备会计分录
  • 已认证未付款分录
  • 其他应付款冲销怎么做
  • 在建工程完工验收报告
  • 业务招待费的进项可以抵扣吗
  • 拿到进项票下一步做啥
  • 企业房产税如何计算缴纳
  • 工程结算收入和应收账款的区别
  • 转让股权收入属于企业所得税收入吗
  • 出口申报时限
  • 个税返还怎样申请退税
  • 招大学生做兼职的网站
  • 怎么查以前申报的财务报表
  • 收购公司款项的支付是利好还是利差
  • 小微企业行业划分标准 工信部
  • win7怎么运行在哪里设置
  • 退付手续费核对过期没处理怎么办
  • 松木山在哪
  • 个税返还的会计处理方法
  • 转账支票出账日期
  • php://input用法
  • vue3+vite+typescript出现does not provide an export named ‘xxx‘ 解决方法
  • phpcgi远程代码执行漏洞
  • el-table懒加载合并行
  • 前端框架源码
  • php不刷新提交
  • 微信小程序游戏手游排行榜
  • pytorch 例子
  • 傅里叶级数狄利克雷判别法
  • 帝国cms适合建什么站
  • 资金结存属于什么会计科目
  • 涂料消费税征税范围
  • 不同会计制度资产负债表金额不一样
  • 月入一万怎么样
  • 生产成本和营业成本的区别和联系
  • 固定资产指的是几年度
  • 开票key
  • 公共电话亭设计案例
  • 固定资产溢余
  • 资产负债表的作用体现在哪些方面
  • 建筑企业合理避税
  • 某个项目投资款怎么入账
  • 会计人员必备的知识和技能
  • 工程施工中购入固定资产
  • 市盈率为负数是说明什么呢
  • 成本核算应设置哪些会计账户
  • sql server创建架构
  • sql server 复制数据库具体操作图解
  • 好用的sql工具
  • mysql5.7.24安装配置教程
  • mysql实时监控工具
  • ubuntu右键菜单
  • Win7系统重装后开不了机
  • centos6 dhcp
  • vi编辑器的使用
  • new folder.exe是什么
  • win8 metro界面
  • linux服务端
  • linux常用性能监控命令
  • Win8如何根据需要自定义文件管理器导航窗格
  • win10开始菜单怎么打开
  • win8启动蓝屏
  • jquery22插件网
  • linux中vi命令是什么意思
  • javascript零基础学要学多久
  • jquery动效
  • 安卓手机管家删除的照片怎么恢复
  • python socket用法
  • 四川省税务局官方网站申报窗口
  • 软件即征即退软件是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设