位置: 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虚拟机安装在移动硬盘)

  • 十种最有效的QQ群推广方法(十种最有效的伟哥替代品)

    十种最有效的QQ群推广方法(十种最有效的伟哥替代品)

  • 红米note11怎么显示网速(红米note.11)

    红米note11怎么显示网速(红米note.11)

  • 荣耀20青春版对比华为nova5z(荣耀20青春版对比华为nova3)

    荣耀20青春版对比华为nova5z(荣耀20青春版对比华为nova3)

  • 怎样重新编辑发布的快手作品(怎样重新编辑发过的抖音)

    怎样重新编辑发布的快手作品(怎样重新编辑发过的抖音)

  • 小米9se跳屏修复(小米九se跳屏售后特批)

    小米9se跳屏修复(小米九se跳屏售后特批)

  • 50mm镜头拍人像要几米(50mm镜头拍人像距离)

    50mm镜头拍人像要几米(50mm镜头拍人像距离)

  • 荣耀10x有没有nfc(荣耀10x有没有红外)

    荣耀10x有没有nfc(荣耀10x有没有红外)

  • ion是什么功能(ion是什么功能键)

    ion是什么功能(ion是什么功能键)

  • 小米10微信视频通话怎么美颜(小米10微信视频美颜怎么设置)

    小米10微信视频通话怎么美颜(小米10微信视频美颜怎么设置)

  • cadbak文件是什么(cad.bak文件)

    cadbak文件是什么(cad.bak文件)

  • 拼多多拼单成功商品下架还给发货吗(拼多多拼单成功后退款另一方怎么办)

    拼多多拼单成功商品下架还给发货吗(拼多多拼单成功后退款另一方怎么办)

  • 脚注和尾注有什么区别(脚注和尾注有什么用)

    脚注和尾注有什么区别(脚注和尾注有什么用)

  • ip协议又称为什么协议(ip协议是用于什么的协议)

    ip协议又称为什么协议(ip协议是用于什么的协议)

  • 顺风车一天可以接多少单(顺风车一天可以赚多少钱)

    顺风车一天可以接多少单(顺风车一天可以赚多少钱)

  • 怎么在抖音里做两个人同时出现的视频(怎么在抖音里做游戏主播)

    怎么在抖音里做两个人同时出现的视频(怎么在抖音里做游戏主播)

  • 怎么下载外国软件(怎么下载外国软件ins)

    怎么下载外国软件(怎么下载外国软件ins)

  • 手机软件为什么会停止运行(手机软件为什么老是更新)

    手机软件为什么会停止运行(手机软件为什么老是更新)

  • 抖音作品被限流怎么办(抖音作品被限流了是什么原因)

    抖音作品被限流怎么办(抖音作品被限流了是什么原因)

  • 手机瀑布屏跟曲面屏的区别(瀑布屏与曲面屏哪个好)

    手机瀑布屏跟曲面屏的区别(瀑布屏与曲面屏哪个好)

  • 苹果11怎么关机(苹果11怎么关机重启)

    苹果11怎么关机(苹果11怎么关机重启)

  • 旁白模式干嘛用的(旁白模式使用教程)

    旁白模式干嘛用的(旁白模式使用教程)

  • pr怎么导出视频mp 4(pr怎么导出视频mov)

    pr怎么导出视频mp 4(pr怎么导出视频mov)

  • 荣耀手机桌面时间不见了怎么设置(荣耀手机桌面时间怎么调成数字)

    荣耀手机桌面时间不见了怎么设置(荣耀手机桌面时间怎么调成数字)

  • xr国行是双卡吗(xr国行版本的是双卡双待)

    xr国行是双卡吗(xr国行版本的是双卡双待)

  • Vue Admin Template关闭eslint校验,lintOnSave:false设置无效解决办法

    Vue Admin Template关闭eslint校验,lintOnSave:false设置无效解决办法

  • (vue权限管理)前端路由表角色权限管理,通过登录不同角色侧边栏显示对应页面(vue权限管理面试题)

    (vue权限管理)前端路由表角色权限管理,通过登录不同角色侧边栏显示对应页面(vue权限管理面试题)

  • 个体工商户能开多少钱的普票
  • 分期收款企业所得税调整
  • 金税三期登录界面
  • 转出未交增值税最终怎么转平
  • 增值税留抵税额退税账务处理
  • 计提环境保护税怎么计算
  • 无税率的汽油卡是什么
  • 中级考试报了三门,只考两门行吗
  • 党建经费提取比例10%
  • 企业所得税季末从业人数怎么填
  • 零星采购范围
  • 股东是否实缴出资款
  • 房地产涉及的税种和税率
  • 别人给开的普通发票能抵扣多少税
  • 个人平均缴费基数
  • 收到货款开的增值税发票怎么写分录
  • 预付款期末有结余年末如何做账务处理?
  • 专项资金可以存定期吗
  • 企业网银电子商务收入是什么
  • 简易计税项目的分包款为建筑服务劳务费,可以扣除吗
  • 营业外支出税前扣除比例是多少
  • 库存红字冲销
  • 企业财产保险费率的影响因素
  • 发票抄报逾期如何处罚
  • 合伙企业需要缴纳什么税
  • 一般纳税人转出进项税额
  • 机动车发票冲红怎么操作
  • 转登记日下期指的是什么
  • 无票收入负数怎么报增值税
  • 代扣代缴境外增值税可以抵扣
  • 汇算清缴纳税调整项目明细表怎么填
  • 什么是留存收益项目
  • 招待费报销制度规定
  • 一次性付一年的房租要摊销吗
  • 银行承兑汇票质押率90%
  • hp是什么代码
  • 银行承兑汇票背书人和被背书人什么关系
  • 增值税纳税申报首先要稽核比对
  • PHP:imagesetbrush()的用法_GD库图像处理函数
  • 企业以物易物如何确认收入
  • uni-app入门到实战
  • php判断是否为字母
  • vue watch监听localstorage变化
  • vue做项目的流程
  • ai训练流程
  • dvwa靶场搭建sql注入
  • 当月的印花税什么时候申报
  • 公司的基本户怎么换
  • 城市维护建设税,教育费附加,地方教育费附加
  • 消防收费标准
  • 公司找个人干活
  • 白酒消费税最低计税价格核定范围包括
  • 个体户季报网上申报怎么填写
  • 专用发票与普通发票的区别有
  • 纳税申报相关操作有哪些
  • 代理服务费如何缴纳
  • 公司买车抵税最新政策2022购置税减半享受不?
  • 银行收的账户管理费
  • 可供分配利润的计算公式
  • 账面净值什么意思
  • 在mysql中使用视图的限制不包括
  • Windows Server 2016技术预览版第四版系统截图曝光 编号10565
  • 如何在windows server 2016如何加域
  • vc运行程序exe停止工作
  • os x10.11el capitan beta5更新了什么?os x10.11el capitan beta5下载地址
  • centos无法上网无法ping外网
  • winxp如何禁用u盘
  • xp系统操作全程图解
  • win8的应用商店
  • jquery日期控件onchange事件
  • dos命令 获取文件名
  • python任务调度之schedule
  • django 自定义权限管理
  • 详解JavaScript ES6中的模板字符串
  • mysql批量建表脚本
  • jquery怎么遍历
  • 电子税务局官网江西省
  • 全国低保查询系统网站
  • 发票盖哪几联
  • 刚成立小公司的流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设