首页 > 其他分享 >vue实现按钮多选

vue实现按钮多选

时间:2022-12-02 22:22:24浏览次数:47  
标签:vue 多选 实现 selected indexOf item ui 按钮

需求是这样:

 

首先考虑使用elementui中的组建实现,但是有时候会忽略组建。实现方式两种:

1.直接使用element实现

let weekTimeData: [
        '星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'
      ]

<el-checkbox-group v-model="form.setting_week" class="mr12">
          <el-checkbox-button v-for="(item,index) in weekTimeData" :key="index" :label="item">{{ item }}</el-checkbox-button>
 </el-checkbox-group>

2.使用原生js去实现

<span
          v-for="(item,index) in weekTimeData"
          :key="index"
          :class="{'active':selected.indexOf(item)!=-1}"
          @click="active(index,item)"
 > {{ item }}
</span> 

selected:[]

// 方法
active(index, item) {

    if (this.selected.indexOf(item) !== -1) {
         this.selected.splice(this.selected.indexOf(item), 1); // 取消
    } else {
      this.selected.push(item);// 选中添加到数组里
    }
  this.form.setting_week = this.selected;
  },

//style需要写样式

 

比较推荐使用elemnt ui的方法,我在开发的时候,忘记了使用element ui,导致多写了几行代码。

标签:vue,多选,实现,selected,indexOf,item,ui,按钮
From: https://www.cnblogs.com/zzm131400/p/16945823.html

相关文章

  • input标签设置了单选还是能多选
    给input标签添加name="xxx"属性即可:性别:<inputtype="radio"name="sex"value="girl">女<inputtype="radio"name="sex"value="boy"checked="checked......
  • Vue的指令与过滤器
    1.内容渲染指令v-text覆盖标签原有内容{{}}插值表达式v-html2.属性绑定指令v-bind为属性动态绑定值简写':'3.事件绑定指令v-on简写'@'vue提供了内置......
  • vue 项目开发记录1
    ---------------------------jbs开发记录---------------------------1,新建vue-cli项目2,win7不能使用node14以上的版本 1,使用save会在package.json中自动添加。npmi......
  • vue run build打包之后服务器端访问图片404
    记录:assetsRoot:path.resolve(__dirname,BUILD_RESOURCES_DIST),//打包后文件存放的路径assetsSubDirectory:"",//除了index.html之外的静态资源要存放的路径assets......
  • vue3 + vite 监听路由
    1.watch监听import{watch}from'vue'import{useRouter}from'vue-router'letrouter=useRouter()watch(()=>router.currentRoute._value,(m,n)=>{......
  • Vue.js_Vue Router 4.x 动态路由解决刷新空白
    问题描述:基于对VueRouter3.x没有改变前,我们常规的实现一定,在store中根据获取的用户权限,对路由进行过滤并返回,然后到路由守卫的地方,使用addRoutes动态添加路由。但......
  • Yii2.0 的多选框实现方法
    下面介绍一下Yii2.0的多选框实现方法第一种:ActiveForm::checkboxList(); 优点:可以将全部数据生成多选框,自带验证$form->field($model,'username')->checkboxList(Ar......
  • vue文件分片上传,断点续传
    ​ 1 背景用户本地有一份txt或者csv文件,无论是从业务数据库导出、还是其他途径获取,当需要使用蚂蚁的大数据分析工具进行数据加工、挖掘和共创应用的时候,首先要将本地文......
  • VUE $refs 与 $el 详解
    $refs与$el是什么?作用是什么?ref,$refs,$el,三者之间的关系是什么?ref(给元素或者子组件注册引用信息)就像你要给元素设置样式,就需要先给元素设定一个class一样,同理......
  • vue多个方法的异步请求
    1、async和awaitasync/await是一种建立在Promise之上的编写异步或非阻塞代码的新方法。async是异步的意思,而await是asyncwait的简写,即异步等待。1//假设这是......