This repository has been archived on 2023-08-30. You can view files and clone it, but cannot push or open issues/pull-requests.
bytedo
/
wcui
Archived
1
0
Fork 0

更新checkbox

old
宇天 2021-02-25 19:51:50 +08:00
parent b754f13e44
commit 013faae5c7
2 changed files with 8 additions and 6 deletions

View File

@ -144,7 +144,7 @@
import '../icon/index'
import $ from '../utils'
export default class CheckboxItem {
export default class Checkbox {
props = {
color: '',
value: '',
@ -162,7 +162,7 @@ export default class CheckboxItem {
}
_checkGroup() {
this._isInGroup = this.parentNode.tagName === 'WC-CHECKBOX'
this._isInGroup = this.parentNode.tagName === 'WC-CHECKBOX-GROUP'
if (this._isInGroup && this.parentNode.root) {
if (this.parentNode.value.includes(this.value)) {
this.checked = true

View File

@ -12,7 +12,7 @@
import $ from '../utils'
import './checkbox-item'
export default class Checkbox {
export default class CheckboxGroup {
props = {
value: []
}
@ -23,7 +23,7 @@ export default class Checkbox {
_updateChildrenStat() {
Array.from(this.children).forEach(it => {
if (it.tagName === 'WC-CHECKBOX-ITEM' && it.root) {
if (it.tagName === 'WC-CHECKBOX' && it.root) {
if (this.value.includes(it.value)) {
it.checked = true
} else {
@ -38,10 +38,11 @@ export default class Checkbox {
}
set value(val) {
console.log(this, val, this.props.value, val === this.props.value)
if (val === this.props.value) {
return
}
this.props.value = val
this.props.value = [...val]
this._updateChildrenStat()
}
@ -58,7 +59,7 @@ export default class Checkbox {
tmp.splice(idx, 1)
}
}
this.props.value = tmp
this.value = tmp
this.dispatchEvent(new CustomEvent('input'))
})
}
@ -70,6 +71,7 @@ export default class Checkbox {
watch() {
switch (name) {
case 'value':
console.log(val)
if (val) {
this.value = val.split(/,\s*?/)
}