Skip to content

Commit

Permalink
fix(cdk: portal): fix not support html selectors
Browse files Browse the repository at this point in the history
  • Loading branch information
liuzaijiang committed Dec 23, 2021
1 parent 24da0a0 commit f174afc
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 13 deletions.
19 changes: 14 additions & 5 deletions packages/cdk/portal/__tests__/portal.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,22 @@ describe('Portal', () => {
const container1 = document.body.querySelector('.target-container1')!
expect(container1.querySelector('#content')).not.toBeNull()

const container = document.createElement('div')
container.classList.add('target-container2')
document.body.appendChild(container)
const container2 = document.createElement('div')
container2.classList.add('target-container2')
document.body.appendChild(container2)

await wrapper.setProps({ target: container })
await wrapper.setProps({ target: container2 })
expect(container1.querySelector('#content')).toBeNull()
expect(container.querySelector('#content')).not.toBeNull()
expect(container2.querySelector('#content')).not.toBeNull()

const container3 = document.createElement('div')
container3.classList.add('target-container3')
document.body.appendChild(container3)

await wrapper.setProps({ target: '.target-container3' })
expect(container1.querySelector('#content')).toBeNull()
expect(container2.querySelector('#content')).toBeNull()
expect(container3.querySelector('#content')).not.toBeNull()
})

test('load work', async () => {
Expand Down
8 changes: 4 additions & 4 deletions packages/cdk/portal/docs/Index.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ cover:

#### PortalProps

| 名称 | 说明 | 类型 | 默认值 | 备注 |
| ---------- | ---------------- | ----------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `disabled` | 是否禁用传送 | `boolean` | - | 若禁用,则会以当前 `v-dom` 结构进行渲染 |
| `target` | 被传送的目标元素 | `string \| HTMLElement` | - | 如果传入一个元素,组件直接传送到该元素上;如果是一个字符串,会根据是否创建过该元素,如果创建过直接读取缓存,否则在 `body` 的最后一个元素上创建元素,并将组件传送到该元素,传入的字符串将作为组件的类名 |
| 名称 | 说明 | 类型 | 默认值 | 备注 |
| --- | --- | --- | --- | --- |
| `disabled` | <p style="width: 120px">是否禁用传送</p> | `boolean` | - | 若禁用,则会以当前 `v-dom` 结构进行渲染 |
| `target` | 被传送的目标元素 | `string \| HTMLElement \| () => string \| HTMLElement` | - | 如果传入一个元素,组件直接传送到该元素上;<br /> 如果是一个字符串,会判断是否可以通过此字符串可以找到相应元素,若找到,则直接插入该元素下,反之会判断是否创建过该元素,若创建过直接读取缓存,否则在 `body` 的最后一个元素上创建元素,并将组件传送到该元素,传入的字符串将作为组件的类名 |
10 changes: 7 additions & 3 deletions packages/cdk/portal/src/covertTarget.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,13 @@ export function covertTarget(target: PortalTargetType): HTMLElement {
return targetHashmap[temp]
}

const element = document.createElement('div')
element.classList.add(temp)
document.body.appendChild(element)
let element = document.querySelector(temp)
if (!element) {
element = document.createElement('div')
element.classList.add(temp)
document.body.appendChild(element)
}

targetHashmap[temp] = element

return element
Expand Down
2 changes: 1 addition & 1 deletion packages/components/table/docs/Index.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ export type TableColumn<T = unknown> = TableColumnBase<T> | TableColumnExpandabl
| 名称 | 说明 | 类型 | 默认值 | 全局配置 | 备注 |
| --- | --- | --- | --- | --- | --- |
| `additional` | 列的扩展属性 | `object` | - | - | 可以用于设置列的 `class`, `style` 或者其他属性 |
| `align` | 文本对齐方式 | `'start' \| 'right' \| 'end'` | `'start'` | ✅ | - |
| `align` | 文本对齐方式 | `'start' \| 'center' \| 'end'` | `'start'` | ✅ | - |
| `colSpan` | 计算列的 `colSpan` | `(record: T, rowIndex: number) => number` | - | - | 返回为 `0` 时,不渲染, 通常用于列合并 |
| `fixed` | 是否固定 | `'start' \| 'end'` | - | - | - |
| `responsive` | 响应式 breakpoint 配置列表 | `BreakpointKey[]` | - | - | - |
Expand Down

0 comments on commit f174afc

Please sign in to comment.