mirror of
https://gitee.com/wot-design-uni/wot-design-uni.git
synced 2025-12-06 17:18:40 +08:00
fix: 🐛 修复Collapse折叠面板组件内容溢出问题 (#710)
This commit is contained in:
parent
3cc18058ae
commit
4bf8d1e300
@ -31,6 +31,11 @@ export type CollapseItemExpose = {
|
|||||||
* @returns boolean
|
* @returns boolean
|
||||||
*/
|
*/
|
||||||
getExpanded: () => boolean
|
getExpanded: () => boolean
|
||||||
|
/**
|
||||||
|
* 更新展开状态
|
||||||
|
* @returns Promise<void>
|
||||||
|
*/
|
||||||
|
updateExpand: () => Promise<void>
|
||||||
}
|
}
|
||||||
|
|
||||||
export type CollapseItemInstance = ComponentPublicInstance<CollapseItemProps, CollapseItemExpose>
|
export type CollapseItemInstance = ComponentPublicInstance<CollapseItemProps, CollapseItemExpose>
|
||||||
|
|||||||
@ -74,25 +74,11 @@ const selected = computed(() => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
watch(
|
|
||||||
() => selected.value,
|
|
||||||
() => {
|
|
||||||
if (!inited.value) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
updateExpend()
|
|
||||||
},
|
|
||||||
{
|
|
||||||
deep: true,
|
|
||||||
immediate: true
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
updateExpend()
|
updateExpand()
|
||||||
})
|
})
|
||||||
|
|
||||||
function updateExpend() {
|
function updateExpand() {
|
||||||
return getRect(`#${collapseId.value}`, false, proxy).then((rect) => {
|
return getRect(`#${collapseId.value}`, false, proxy).then((rect) => {
|
||||||
const { height: rectHeight } = rect
|
const { height: rectHeight } = rect
|
||||||
height.value = isDef(rectHeight) ? Number(rectHeight) : ''
|
height.value = isDef(rectHeight) ? Number(rectHeight) : ''
|
||||||
@ -136,16 +122,16 @@ function handleClick() {
|
|||||||
}
|
}
|
||||||
if (isPromise(response)) {
|
if (isPromise(response)) {
|
||||||
response.then(() => {
|
response.then(() => {
|
||||||
collapse && collapse.toggle(name, !expanded.value)
|
handleChangeExpand(name)
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
collapse && collapse.toggle(name, !expanded.value)
|
handleChangeExpand(name)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
collapse && collapse.toggle(name, !expanded.value)
|
handleChangeExpand(name)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
collapse && collapse.toggle(name, !expanded.value)
|
handleChangeExpand(name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -153,7 +139,12 @@ function getExpanded() {
|
|||||||
return expanded.value
|
return expanded.value
|
||||||
}
|
}
|
||||||
|
|
||||||
defineExpose<CollapseItemExpose>({ getExpanded })
|
function handleChangeExpand(name: string) {
|
||||||
|
updateExpand()
|
||||||
|
collapse && collapse.toggle(name, !expanded.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
defineExpose<CollapseItemExpose>({ getExpanded, updateExpand })
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
@ -126,6 +126,7 @@ const toggleAll = (options: boolean | CollapseToggleAllOptions = {}) => {
|
|||||||
names.push(item.name || index)
|
names.push(item.name || index)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
item.$.exposed!.updateExpand()
|
||||||
if (isDef(expanded) ? expanded : !item.$.exposed!.getExpanded()) {
|
if (isDef(expanded) ? expanded : !item.$.exposed!.getExpanded()) {
|
||||||
names.push(item.name || index)
|
names.push(item.name || index)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user