vue如何實現點擊選中取消切換
vue點擊選中取消切換
html
<el-button @click="searchStatisticsInfo(item)" :class="item.isChoose == true ? 'active' : ''" size="small" v-for="(item,index) in menulist" :key="index">{{item.name}}</el-button>
data
menulist: [{ id: 1, isChoose: true, name: '今天' }, { id: 2, isChoose: false, name: '近七天' }, { id: 3, isChoose: false, name: '近30天' }, { id: 4, isChoose: false, name: '近90天' }],
JS
methods: { searchStatisticsInfo (item) { for (let item of this.menulist) { item.isChoose = false; } item.isChoose = !item.isChoose; } }
如果數組中不包含isChoose 則需要改成$set的方式。
searchStatisticsInfo (item) { for (let row of this.menulist) { this.$set(row, "isChoose", false); } this.$set(item, "isChoose", true); },
vue點擊選中,再次點擊取消
舉個栗子
在el-calendar中單擊選中,再次點擊取消選中
可以定義一個變量,用他的值作為判斷,如果與點擊日期相等,就是取消選中
// 點擊查詢當天記錄 handleHoliday(date, data) { const { day } = data; if (this.clickTime === day) { //定義變量clickTime this.findWorkList(this.currentDate); this.findList(this.currentDate); this.clickTime = ""; //再次賦值為空,才能連續點擊 return; } else { this.clickTime = day; //不可用date做比較,date是變化的值 this.findWorkList(this.currentDate, day); this.findList(this.currentDate, day) } } },
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。