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

  • 化生寺怎么加点(化生寺怎么加点奶量大)

    化生寺怎么加点(化生寺怎么加点奶量大)

  • 陌陌一辆跑车提现多少(陌陌的跑车多少钱)

    陌陌一辆跑车提现多少(陌陌的跑车多少钱)

  • 怎么清朋友圈发的东西(如何清理朋友圈里朋友发的内容和图片)

    怎么清朋友圈发的东西(如何清理朋友圈里朋友发的内容和图片)

  • 滴滴出行是全球卓越的移动出行平台,为超过4.5亿用户提供出租(滴滴出行是全球运营吗)

    滴滴出行是全球卓越的移动出行平台,为超过4.5亿用户提供出租(滴滴出行是全球运营吗)

  • 华为aumal20是什么手机(华为aum-al20什么型号)

    华为aumal20是什么手机(华为aum-al20什么型号)

  • 魅族17和17pro差别(魅族17和17pro那个好)

    魅族17和17pro差别(魅族17和17pro那个好)

  • 什么是图标(什么是图标?)

    什么是图标(什么是图标?)

  • oppoa8是快充吗(opopa8有快充吗)

    oppoa8是快充吗(opopa8有快充吗)

  • 一般压缩文件是什么格式(一般压缩文件是多少兆)

    一般压缩文件是什么格式(一般压缩文件是多少兆)

  • mac外放没声音了(苹果电脑没声音按哪个键恢复)

    mac外放没声音了(苹果电脑没声音按哪个键恢复)

  • 耳机和耳麦有什么区别(耳机耳麦有什么用)

    耳机和耳麦有什么区别(耳机耳麦有什么用)

  • 电脑结束进程后黑屏怎么办(电脑结束进程后又自动启动了)

    电脑结束进程后黑屏怎么办(电脑结束进程后又自动启动了)

  • 美版有锁什么意思(美版有锁有什么风险)

    美版有锁什么意思(美版有锁有什么风险)

  • 显示器hdcp功能是什么(显示器hdcp功能重要吗)

    显示器hdcp功能是什么(显示器hdcp功能重要吗)

  • ps怎么把照片提亮(ps怎么把照片提取线稿)

    ps怎么把照片提亮(ps怎么把照片提取线稿)

  • 苹果x怎么调震动(苹果x如何调震动)

    苹果x怎么调震动(苹果x如何调震动)

  • 微信怎么更换实名信息(微信怎么更换实名认证后账号会消失吗)

    微信怎么更换实名信息(微信怎么更换实名认证后账号会消失吗)

  • 苹果怎么关掉拍照声音(苹果怎么关掉拍照咔嚓声)

    苹果怎么关掉拍照声音(苹果怎么关掉拍照咔嚓声)

  • 微信语音静音会显示吗(微信语音静音会有声音吗)

    微信语音静音会显示吗(微信语音静音会有声音吗)

  • 小米5怎么分屏模式(小米5怎么分屏下调整页面大小)

    小米5怎么分屏模式(小米5怎么分屏下调整页面大小)

  • oppoa5耳机模式怎么关(oppoa5耳机模式怎么解除没有智能辅助)

    oppoa5耳机模式怎么关(oppoa5耳机模式怎么解除没有智能辅助)

  • 相机光圈的作用(相机光圈是干啥的)

    相机光圈的作用(相机光圈是干啥的)

  • 怎么把照片的背景换掉(怎么把照片的背景虚化)

    怎么把照片的背景换掉(怎么把照片的背景虚化)

  • 找不到IE浏览器(电脑找不到ie浏览器)

    找不到IE浏览器(电脑找不到ie浏览器)

  • 在Linux上使用GNU sed的方法(gnu/linux)

    在Linux上使用GNU sed的方法(gnu/linux)

  • 可变现净值相关税费包括消费税吗
  • 小规模结转增值税会计科目有哪些
  • 向税务局申请发票增量增额怎么写
  • 小规模纳税人要交增值税吗
  • 一般纳税人开劳务发票几个点
  • 什么是应交增值税
  • 永久性差异什么是暂时性差异
  • 增值税17-16-13的时间
  • 防伪税控开具发票明细表
  • 如何建设工厂
  • 应付利息借贷
  • 报销单和付款单的区别
  • 交强险发票备注的车船税怎么报销
  • 残料的会计分录
  • 公司处于亏损状态退股
  • 预缴增值税一般计税依据
  • 发票的单价开得太低了怎么办?
  • 销售依据
  • 购货方申请红字发票怎么申报
  • 金税盘当月买当月不抵扣怎么处理?
  • 税务行业软件
  • 企业为员工提供住宿会计科目
  • 企业创业初期能干什么
  • 有限责任公司企业名称有哪些
  • 工会经费由企业和职工共同负担吗
  • 一年内到期的应收质保金
  • 企业预付的固定资产折旧
  • 企业支付宝收款码怎么申请
  • 跨期发票如何进行会计处理?
  • 华为系统设置权限
  • Windows 11 Build 22000.176 (KB5006050) 更新推送(附更新内容+安装)
  • php实现上传图片到数据库
  • 简易征收月末需要转出未交增值税吗
  • 资产负债表怎么算资产负债率
  • 应缴纳消费税会增加吗
  • 出口货物免抵退税 组织收入 影响
  • 最好用的无人品牌子
  • 福克兰群岛属于哪国
  • 跨站脚本攻击是什么
  • php生成xml文件
  • php去除字符串中的引号
  • ChatGPT5是否会影响人类的发展和工作?
  • tensorflow gan
  • 消费积分如何做账
  • 两个公司可以是法人吗
  • 我们现在收到的礼物
  • 结转费用类会计分录怎么写
  • 应收款超过多久未收回可界定为损失
  • 投标报名费怎么做分录
  • 商品流通企业流程图
  • 小规模免税收入是多少
  • 工程外经证预缴税款计税方法
  • 垃圾清运费属于什么服务
  • 购买加油卡走哪个平台好
  • 企业应付职工薪酬的会计核算
  • 销售商品发生的运输费计入什么科目
  • 购货方与付款方不一致
  • 管理费用包括哪些税
  • 终端运行mysql
  • window下mysql忘记密码
  • ghost装win7无法启动
  • Win10桌面图标怎么隐藏
  • 怎么提升mac性能
  • linux配置光纤
  • win7卸载软件时显示program
  • linux怎么修改主配置文件
  • opengl clamp
  • 运行javascript
  • python函数例子
  • android studio官网
  • shell脚本cut -d
  • 交互式shell是什么意思
  • 文件夹怎么变成
  • Unity 中WWW加载 AssetBundle---中文路径
  • js制作网站
  • nodejs开启多线程
  • js tojsonstring
  • jquery 菜单
  • 砂石需要缴纳资源税吗
  • 河南三门峡税务社保缴费电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设