amis icon indicating copy to clipboard operation
amis copied to clipboard

remark和tooltip组件不是在body下生成,导致位置错乱

Open joker77877 opened this issue 2 years ago • 2 comments

描述问题:

remark和tooltip组件不是在body下生成,导致位置错乱

截图或视频:

image

如何复现(请务必完整填写下面内容):

  1. 你是如何使用 amis 的? sdk引入

  2. amis 版本是什么?请先在最新 beta 版本测试问题是否存在 2.2.0

  3. 粘贴有问题的完整 amis schema 代码:

<!DOCTYPE html>
<html lang="zh">

<head>
    <meta charset="UTF-8" />
    <title>amis demo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
    <link rel="stylesheet" href="public/sdk/sdk.css" />
    <link rel="stylesheet" href="public/sdk/helper.css" />
    <link rel="stylesheet" href="public/sdk/iconfont.css" />
    <!-- 这是默认主题所需的,如果是其他主题则不需要 -->
    <!-- 从 1.1.0 开始 sdk.css 将不支持 IE 11,如果要支持 IE11 请引用这个 css,并把前面那个删了 -->
    <!-- <link rel="stylesheet" href="sdk-ie11.css" /> -->
    <!-- 不过 amis 开发团队几乎没测试过 IE 11 下的效果,所以可能有细节功能用不了,如果发现请报 issue -->
    <style>
        html,
        body,
        .app-wrapper {
            position: relative;
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
        }
    </style>
</head>

<body>
    <div id="root"></div>
    <script src="public/sdk/sdk.js"></script>
    <script type="text/javascript">
        (function () {
            let amis = amisRequire('amis/embed');
            // 通过替换下面这个配置来生成不同页面
            let amisJSON = {
                type: 'page',
                title: '表单页面',
                body: [{
                    type: 'form',
                    mode: 'horizontal',
                    api: '/saveForm',
                    body: [
                        {
                            label: 'Name',
                            type: 'input-text',
                            name: 'name'
                        },
                        {
                            label: 'Email',
                            type: 'input-email',
                            name: 'email'
                        },

                    ]
                }, { type: 'remark', content: '这是一段提醒' },]
            };
            let amisScoped = amis.embed('#root', amisJSON);
        })();
    </script>
</body>

</html>
  1. 操作步骤 你们官方自己的示例

joker77877 avatar Sep 05 '22 08:09 joker77877

👍 Thanks for this! 🏷 I have applied any labels matching special text in your issue.

Please review the labels and make any necessary changes.

github-actions[bot] avatar Sep 05 '22 08:09 github-actions[bot]

@joker77877 正常情况下,tooltip和remark的弹层默认会插入body下,除非是配置了container属性。 请进一步确认下当前页面中remark和tooltip是否配置了container属性,最好能发下完整的页面schema。因为部分特殊容器类组件也会自动给内部的弹窗元素下发popOverContainer,比如CRUD、Card等组件。

wibetter avatar Apr 10 '24 12:04 wibetter