var app = getApp() var that; Component({ mixins: [], data: { isShow: false, sxArr: [ { name: '复核状态', child: [ { name: "通过", code: "1", checked: true }, { name: "待复核", code: "0", checked: false }, { name: "不通过", code: "2", checked: false }, ], }, { name: '积分分类', child: [ { name: "全部", code: "0", checked: true }, { name: "B分", code: "3", checked: false }, { name: "A分", code: "2", checked: false }, ], } ], sxArr2: [ { name: '人员', child: [ { name: "通过", code: "1", checked: false }, { name: "待复核", code: "0", checked: false }, { name: "不通过", code: "2", checked: false }, ], }, { name: '积分分类', child: [ { name: "全部", code: "0", checked: false }, { name: "B分", code: "3", checked: false }, { name: "A分", code: "2", checked: false }, ], } ] }, props: { onConfirm: (data) => console.log(data), onClose: (data) => console.log(data), defaultSx:['1','0'], }, didMount() { that = this; var sxArr=this.data.sxArr; sxArr.map(item=>{ item.child.map(item2=>{ item2.checked=false; if(item.name=='复核状态'&&this.props.defaultSx[0]==item2.code){ item2.checked=true; } if(item.name=='积分分类'&&this.props.defaultSx[1]==item2.code){ item2.checked=true; } }) }) this.setData({ isShow: this.props.isShow,sxArr:sxArr }) }, didUpdate() { }, didUnmount() { }, methods: { //单 ruleActive(e) { var index = e.target.dataset.index; var sxArrItem = `sxArr[${index}].child`; this.setData({ [sxArrItem]: this.data.sxArr2[index].child }) var indexChild = e.target.dataset.indexChild; var isChecked = this.data.sxArr[index].child[indexChild].checked; var elem = `sxArr[${index}].child[${indexChild}].checked`; this.setData({ [elem]: !isChecked }) }, onConfirm() { var sxArr = this.data.sxArr; var arr = []; sxArr.forEach(item => { if (item.child.length > 0) { item.child.forEach((a) => { if (a.checked == true) { arr.push(a.code); } }) } }); this.props.onConfirm(arr); this.props.onClose(); }, //关闭 onClose(e) { this.props.onClose(); }, }, });