Vue element-UI多选框列表组件

在这里插入图片描述

<template>
  <div class="receiverbox">
    <div class="el-transfer receiver">
      <div class="el-transfer-panel" rightdefaultchecked value targetorder="original">
        <p class="el-transfer-panel__header">
          <el-checkbox v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
        </p>
        <div class="el-transfer-panel__body">
          <div class="el-checkbox-group el-transfer-panel__list">
            <el-checkbox
              v-for="(city,i) in cities"
              :label="city.name"
              :key="i"
              v-model="checkedCities"
              @change="handleCheckedCitiesChange"
            >{{city.name}}</el-checkbox>
          </div>
        </div>
        <div style="margin:15px;text-align:center">
          <el-button size="medium" @click="cancel">取消</el-button>
          <el-button type="primary" @click="saveFn" size="medium" :loading="isLoading">确认</el-button>
        </div>
      </div>
    </div>
  </div>
</template>
<script>
  export default {
    name: 'changeColumn',
    data() {
      return {
        isLoading: false, // loading
        checkAll: false,
        checkedCities: [],
        cities: [ {name:'北京',value: 'beijing'},
                  {name:'上海',value: 'shanghai'},
                  {name:'广州',value: 'guangzhou'},
                ],
      };
    },
    methods: {
      handleCheckAllChange(val) {
          if(this.checkAll){
              this.cities.forEach(item=>{
                  this.checkedCities.push(item.name)
              })
          }else {
              this.checkedCities = []
          }

      },
      handleCheckedCitiesChange(value) {
          console.log(this.checkedCities);
          if(this.checkedCities.length == this.cities.length){
              this.checkAll=true
          }else{
              this.checkAll=false
          }
      },
      saveFn() {

      },
      cancel() {
        this.checkedCities = []
        this.checkAll=false
      }
    }
  };
</script>
<style lang="scss" scope>
.receiverbox {
  min-height: 270px;
  /deep/ .el-checkbox {
    display: block;
    margin-right: 0;
  }
  /deep/ .el-transfer-panel__body {
    min-height: 255px;
    padding: 15px;
  }
  /deep/ .el-transfer-panel {
    height: 387px;
    width: 237px;
  }
  /deep/ .el-transfer-panel__body,
  .el-transfer-panel__list {
    height: 278px;
    .el-checkbox {
      margin-top: 10px;
    }
    :first-child {
      margin-top: 0px;
    }
  }
  /deep/ .el-checkbox-group .cc_cursor .el-checkbox {
    margin-top: 10px;
  }
}
</style>

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
element-ui 多选框是一种用户界面组件,可以让用户从多个选项中选择一个或多个选项。它是基于Vue.js开发的,具有丰富的功能和灵活的配置选项。在element-ui中,多选框组件被称为Checkbox。您可以使用Checkbox组件在表单中创建多个选项,并且可以通过v-model绑定一个变量来获取用户的选择结果。您还可以使用Checkbox组件的其他属性和事件来自定义其外观和行为。官方文档提供了详细的使用说明和示例,您可以在官方文档中查找更多关于element-ui多选框的信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题](https://download.csdn.net/download/weixin_38596093/12924091)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [vue+elementUI 添加多个可以全选的多选框](https://blog.csdn.net/Start2019/article/details/111978006)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [element-ui之Checkbox 多选框](https://blog.csdn.net/demo_020/article/details/112718217)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值