Skip to content

Commit d21e7d8

Browse files
authored
Merge pull request #604 from TaleLin/fix/checkbox
fix:修复checkbox最小选中数的bug(#601)
2 parents 6c2625e + 7645591 commit d21e7d8

File tree

6 files changed

+36
-12
lines changed

6 files changed

+36
-12
lines changed

dist/checkbox-group/index.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ Component({
4040

4141
init(target) {
4242
if(this._keys === undefined) this._keys = {};
43-
if(this._selected === undefined) this._selected = {};
44-
this.checkDefaultItem(target);
43+
// if(this._selected === undefined) this._selected = {};
44+
// this.checkDefaultItem(target);
4545
this.checkedKeyRepeat(target);
4646
},
4747

@@ -74,7 +74,7 @@ Component({
7474
},
7575

7676
onEmitEventHandle(currentItem) {
77-
currentItem.checked ? this.addSelect(currentItem.key):this.removeSelect(currentItem.key);
77+
// currentItem.checked ? this.addSelect(currentItem.key):this.removeSelect(currentItem.key);
7878

7979
this.triggerEvent('linchange', currentItem, {
8080
bubbles: true,
@@ -92,6 +92,14 @@ Component({
9292
},
9393
addSelect(key) {
9494
this._selected[key] = key;
95+
},
96+
_selected(){
97+
const items = this.getRelationNodes('../checkbox/index');
98+
let num = 0
99+
items.map(item=> {
100+
item.properties.checked ? num++ : '';
101+
})
102+
return num
95103
}
96104

97105
}

dist/checkbox/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ Component({
9898

9999
const limit = parent.properties[type];
100100
if (!limit) return false;
101-
const selectedLength = Object.values(parent._selected).length;
101+
const selectedLength = parent._selected();
102102
let isOverflow = type === 'minSelected' ? selectedLength <= limit : selectedLength >= limit;
103103
if (isOverflow) {
104104
let backType = type === 'minSelected' ? 'min_selected' : 'max_selected';

examples/dist/checkbox-group/index.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ Component({
4040

4141
init(target) {
4242
if(this._keys === undefined) this._keys = {};
43-
if(this._selected === undefined) this._selected = {};
44-
this.checkDefaultItem(target);
43+
// if(this._selected === undefined) this._selected = {};
44+
// this.checkDefaultItem(target);
4545
this.checkedKeyRepeat(target);
4646
},
4747

@@ -74,7 +74,7 @@ Component({
7474
},
7575

7676
onEmitEventHandle(currentItem) {
77-
currentItem.checked ? this.addSelect(currentItem.key):this.removeSelect(currentItem.key);
77+
// currentItem.checked ? this.addSelect(currentItem.key):this.removeSelect(currentItem.key);
7878

7979
this.triggerEvent('linchange', currentItem, {
8080
bubbles: true,
@@ -92,6 +92,14 @@ Component({
9292
},
9393
addSelect(key) {
9494
this._selected[key] = key;
95+
},
96+
_selected(){
97+
const items = this.getRelationNodes('../checkbox/index');
98+
let num = 0
99+
items.map(item=> {
100+
item.properties.checked ? num++ : '';
101+
})
102+
return num
95103
}
96104

97105
}

examples/dist/checkbox/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ Component({
9898

9999
const limit = parent.properties[type];
100100
if (!limit) return false;
101-
const selectedLength = Object.values(parent._selected).length;
101+
const selectedLength = parent._selected();
102102
let isOverflow = type === 'minSelected' ? selectedLength <= limit : selectedLength >= limit;
103103
if (isOverflow) {
104104
let backType = type === 'minSelected' ? 'min_selected' : 'max_selected';

src/checkbox-group/index.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ Component({
4040

4141
init(target) {
4242
if(this._keys === undefined) this._keys = {};
43-
if(this._selected === undefined) this._selected = {};
44-
this.checkDefaultItem(target);
43+
// if(this._selected === undefined) this._selected = {};
44+
// this.checkDefaultItem(target);
4545
this.checkedKeyRepeat(target);
4646
},
4747

@@ -74,7 +74,7 @@ Component({
7474
},
7575

7676
onEmitEventHandle(currentItem) {
77-
currentItem.checked ? this.addSelect(currentItem.key):this.removeSelect(currentItem.key);
77+
// currentItem.checked ? this.addSelect(currentItem.key):this.removeSelect(currentItem.key);
7878

7979
this.triggerEvent('linchange', currentItem, {
8080
bubbles: true,
@@ -92,6 +92,14 @@ Component({
9292
},
9393
addSelect(key) {
9494
this._selected[key] = key;
95+
},
96+
_selected(){
97+
const items = this.getRelationNodes('../checkbox/index');
98+
let num = 0
99+
items.map(item=> {
100+
item.properties.checked ? num++ : '';
101+
})
102+
return num
95103
}
96104

97105
}

src/checkbox/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ Component({
9898

9999
const limit = parent.properties[type];
100100
if (!limit) return false;
101-
const selectedLength = Object.values(parent._selected).length;
101+
const selectedLength = parent._selected();
102102
let isOverflow = type === 'minSelected' ? selectedLength <= limit : selectedLength >= limit;
103103
if (isOverflow) {
104104
let backType = type === 'minSelected' ? 'min_selected' : 'max_selected';

0 commit comments

Comments
 (0)