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

  • 18种常用的网络推广方法(五种常用网络)

    18种常用的网络推广方法(五种常用网络)

  • 苹果13丢了怎么找回(苹果13丢了怎么防止别人看到数据密码)

    苹果13丢了怎么找回(苹果13丢了怎么防止别人看到数据密码)

  • 怎么用视频号发长视频到朋友圈(怎么用视频号发长视频)

    怎么用视频号发长视频到朋友圈(怎么用视频号发长视频)

  • 微信怎么设置定时转账(微信怎么设置定时转账给好友)

    微信怎么设置定时转账(微信怎么设置定时转账给好友)

  • 微信好友怎么复制到新的账号(微信好友怎么复制克隆)

    微信好友怎么复制到新的账号(微信好友怎么复制克隆)

  • 华为荣耀30s上市时间(华为荣耀80上市时间和价格)

    华为荣耀30s上市时间(华为荣耀80上市时间和价格)

  • 为什么手机搜不到mp3蓝牙(为什么手机搜不到wifi,但别人能连)

    为什么手机搜不到mp3蓝牙(为什么手机搜不到wifi,但别人能连)

  • 华为p40有指纹解锁吗(华为p40 指纹识别)

    华为p40有指纹解锁吗(华为p40 指纹识别)

  • 华为手环一定要配华为手机吗(华为手环一定要下载华为运动健康吗)

    华为手环一定要配华为手机吗(华为手环一定要下载华为运动健康吗)

  • ip冲突会导致什么后果(ip冲突会怎么样)

    ip冲突会导致什么后果(ip冲突会怎么样)

  • 华为mate30怎么自定义铃声(华为mate30怎么自检)

    华为mate30怎么自定义铃声(华为mate30怎么自检)

  • 华为荣耀20s返回键怎么设置(华为荣耀20s返回键怎么更换)

    华为荣耀20s返回键怎么设置(华为荣耀20s返回键怎么更换)

  • 音频管理器在哪里打开(高清晰音频管理器在哪)

    音频管理器在哪里打开(高清晰音频管理器在哪)

  • 手机qq聊天图片在哪(手机qq聊天图片在哪个文件夹)

    手机qq聊天图片在哪(手机qq聊天图片在哪个文件夹)

  • 智能ic卡水表显示的数字是什么(智能ic卡水表显示E—07)

    智能ic卡水表显示的数字是什么(智能ic卡水表显示E—07)

  • 运算器一般由什么组成(运算器一般由什么构成)

    运算器一般由什么组成(运算器一般由什么构成)

  • ps怎么生成路径(ps怎么自动生成路径)

    ps怎么生成路径(ps怎么自动生成路径)

  • 微信怎么开启自动抢红包(微信怎么开启自动回复)

    微信怎么开启自动抢红包(微信怎么开启自动回复)

  • 剪映怎么加入本地音乐(剪映怎么加入本地录音)

    剪映怎么加入本地音乐(剪映怎么加入本地录音)

  • 手机反向充电怎么开启(手机反向充电怎么办关不掉)

    手机反向充电怎么开启(手机反向充电怎么办关不掉)

  • 酷狗音乐如何复制歌曲链接(酷狗音乐如何复制歌词手机)

    酷狗音乐如何复制歌曲链接(酷狗音乐如何复制歌词手机)

  • 华为mate50刷机教程(华为mate刷机能刷用户锁吗)

    华为mate50刷机教程(华为mate刷机能刷用户锁吗)

  • phpcms v9会员登录失败(php会员系统)

    phpcms v9会员登录失败(php会员系统)

  • 在小程序当中渲染树(小程序渲染是什么意思)

    在小程序当中渲染树(小程序渲染是什么意思)

  • 税法规定固定资产最低价格
  • 预缴税款可以抵税吗
  • 银行询证函快递怎么查
  • 办理契税需要的户口本复印件可以吗
  • 其他收入月末需要结账吗
  • 购货方跨年红冲发票会计分录
  • 应缴所得税包括哪些税种
  • 持有至到期投资是什么意思
  • 契税可以银行转让吗
  • 跨年的发票能红字冲销吗?
  • 水利建设基金的计税依据及税率
  • 企业所得税的纳税人和负税人一致吗
  • 货代企业所得税优惠政策
  • 销售费用变动率公式
  • 政府会计提取专用基金
  • 药品增值税简易征收
  • 开发成本开发间接费用是哪类账户
  • 资本化利息金额
  • 周转材料盘点报告单
  • 充值至他人支付账户
  • 吸甲醛最好的植物是什么?
  • 如何彻底关闭电脑右下角弹窗
  • 企业债卷利息收入是营业收入吗
  • 环评费入账的会计分录是什么啊
  • 三星电脑安装系统按哪个键
  • 金税盘可以抵扣进项税吗
  • mac os常用快捷键
  • rtfd文件
  • 怎么让win7不锁定
  • uniapp仿微信
  • 补交上年度企业所得税报表怎么填写
  • 金税盘一定要有吗
  • 通行费发票认证怎么操作
  • 建筑行业现在还能斤不
  • 已确认的发票如何入账
  • vue err
  • php如何实现
  • 华为od机试真题2023 pdf
  • php读取excel数据
  • lvm命令详解
  • 企业将存款汇往异地银行
  • 购进免税农产品进项税额计算
  • 织梦安装详细教程
  • mysql千万级数据group by
  • 坏账准备计提额怎么计算
  • 利润表调整了资产负债表怎么调整
  • 填写记账凭证的日期一般是会计人员填制记账凭证的
  • sqlceil函数用法
  • mysql编程一般步骤
  • 无票收入增值税怎么申报
  • 待处理财产损溢借方是增还是减
  • 公司员工食堂买菜没发票怎么办
  • 小额贷款在银行需要什么条件
  • 对公转账个人垫付怎么写
  • 差旅费算人工费吗
  • 4s店出售试驾车账务处理
  • 没有进项发票出口免税
  • 管理成本分摊比例是多少
  • 应收账款转营业外支出
  • 结转完工入库产品成本
  • 怎样算小公司
  • 小企业建账选哪种会计制度
  • 在linux2.4.0版本中
  • 禁止windows安装程序
  • NPFMSG.exe - NPFMSG是什么进程 有什么用
  • windows7右下角网络图标不见了怎么办
  • pqinit.exe - pqinit是什么进程 有什么用
  • linux shell脚本实例
  • win7系统怎样
  • win10更新补丁导致打印机
  • javascript中的数字型可以用来保存整数或浮点数(小数)
  • our与my的区别
  • 女鬼照片
  • 网站检测系统
  • android网络访问异常提示有哪些
  • 广东增值税电子专用发票
  • 为什么要去山西
  • 进项税额有哪些明细科目
  • 税务被风控了多久才会解除
  • 更改国名
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设