/******************************************************************************* * Copyright(c) 2021 dongke All rights reserved. / Confidential * 类的信息: * 1.程序名称: * 2.功能描述:一览界面状态下拉组件-switch * 编辑履历: * 作者 日期 版本 修改内容 * admin 2021-4-28 1.00 新建 *******************************************************************************/ Component({ /** * 组件的属性列表 */ properties: { //数据源 dataList: { type: Array, default: [] }, // 全选和确定按钮是否显示 onAllChanageFlag:{ type:Boolean, value:true } }, /** * 组件的初始数据 */ data: { allCheck: true }, lifetimes: { attached: function () {}, detached: function () { // 在组件实例被从页面节点树移除时执行 }, }, /** * 组件的方法列表 */ methods: { /** * 调用查询 * @param {*} e */ commit(e) { // 取出被选中的数据 let dataListTemp = []; let values = [] for (let index = 0; index < this.data.dataList.length; index++) { if (this.data.dataList[index].checked) { let item = this.data.dataList[index] dataListTemp.push(item.text); values.push(item.value) } } this.triggerEvent('commit', { values: values.join(','), dataList: dataListTemp }) }, // 切换功能 onSwitchChange(e) { var index = e.target.dataset.index; var dataList = this.data.dataList; var truenumber = 0 var falsenumber = 0 var allflag=false // 设置点击的项目 的值 for (let i = 0; i < dataList.length; i++) { if (i == index) { dataList[i].checked = !dataList[i].checked break; } } for (let i = 0; i < dataList.length; i++) { if (dataList[i].checked) { truenumber++ } else { falsenumber++ } } if(dataList.length==truenumber){ allflag=true } if(dataList.length==falsenumber){ allflag=false } this.setData({ dataList: dataList, allCheck:allflag }); this.triggerEvent('onSwitchChange', { index: index }) }, /** * 全选/全不选 * @param {*} e */ onAllChanage(e) { let allCheck = e.detail var dataList = this.data.dataList; // 设置点击的项目 的值 for (let i = 0; i < dataList.length; i++) { dataList[i].checked = allCheck } this.setData({ dataList: dataList, allCheck: allCheck }); }, } })