element checkbox

该示例展示了如何使用Vue.js和Element-UI库创建一个全选和多选功能的组件。代码中定义了一个数据集`cityOptions`,包含了四个城市选项,并初始化了已选城市的`checkedOptions`。`isCheckAll`属性根据全选状态进行更新。当全选按钮被点击时,`handleCheckAllChange`方法会更新所有城市的选择状态。而当单个城市选择变化时,`handleCheckedCitiesChange`方法会同步全选按钮的状态。通过这种方式,实现了双向数据绑定和选择状态的同步。
<script src="//unpkg.com/vue/dist/vue.js"></script>
<script src="//unpkg.com/element-ui@2.15.0/lib/index.js"></script>
<div id="app">
   <el-checkbox v-model="isCheckAll" @change="handleCheckAllChange">全选</el-checkbox>
  <el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
    <el-checkbox v-for="city in cities" :label="city.id" :key="city.id">{{city.name}}</el-checkbox>
  </el-checkbox-group>
</div>
const cityOptions =  [{id:1,name:'上海'}
                 ,{id:2,name:'北京'}
                 ,{id:3,name:'广州'}
                 ,{id:4,name: '深圳'}]; 
const checkedOptions=[1,2]
var Main = {
    data() {
      return {
        cities:cityOptions,
        checkedCities: checkedOptions,
        isCheckAll: cityOptions==checkedOptions,
      };
    },
    methods: {
      handleCheckAllChange(val) {
        var allids=new Array()
        for(var i=0;i<cityOptions.length;i++){
          allids[i]=cityOptions[i].id
        }
        this.checkedCities = val ? allids : [];
        console.log(this.checkedCities);//显示选中内容
      },
      handleCheckedCitiesChange(value) {
        this.isCheckAll=value.length==cityOptions.length
        console.log(this.checkedCities);//显示选中内容
      }
    }
  };
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值