gpt4 book ai didi

javascript - 同构 (SmartClient) ListGrid 不允许 Div 标签溢出(与 Twitter Bootstrap 的多选冲突)

转载 作者:行者123 更新时间:2023-11-28 17:37:07 25 4
gpt4 key购买 nike

我有一个应用程序,其中 SmartClient ListGrid 和 Twitter Bootstrap 多选共存。不幸的是,当多选下拉并试图与 ListGrid 重叠时,它被切断了。问题似乎是 ListGrid 拒绝让 div 标签溢出。

我翻阅了文档并尝试了各种设置,但无法弄清楚如何更改此行为。有什么想法吗?

下面的代码片段演示了通用 div 标签的问题。我需要将示例 div 标记放在 ListGrid 的顶部。

<html>
<head>
<style>
.my-style {
overflow: visible;
border: 1px solid black;
}
</style>
<!--Deleted: jQuery & Isomorphic includes -->
<script>
$(document).ready( function() {
isc.ListGrid.create({
top:0, left:100,
fields: [ {name:'X'}, {name:'Y'} ],
items: []
});
$('#main').html('<div class="my-style">This is a test</div>');
});
</script>
</head>
<body>
<div id="main" class="my-style">
A sample div tag
</div>
</body>
</html>

最佳答案

SmartClient 在它为小部件生成的 DOM 元素上设置非常高的 zIndex 值。 DOM Integration & Third-party Components页面解释了一些解决第三方小部件 zIndex 问题的选项:

  1. 许多小部件库提供了一种在现有 HTML 元素内呈现小部件的机制。我不知道 Bootstrap 多选小部件是否可以执行此操作,但如果可以,该文档页面上提供了有关如何在自定义 SmartClient Canvas 中呈现第三方小部件的示例代码。

  2. 每当显示多选小部件时,您可以在 ListGrid 上调用 getZIndex(true) 并将多选元素的 zIndex 动态设置为一个更大的数字。

    此方法假定 ListGrid 是顶级小部件(getParentCanvas() 返回 null)。如果 ListGrid 在其他一些 SmartClient 小部件中,那么您将需要获取顶级小部件的 zIndex。

  3. 作为不受支持的选项,您可以修改 _nextZIndex_SMALL_Z_INDEX_BIG_Z_INDEX 类属性以使 SmartClient 使用较低的 zIndex值(value)观。

    我没试过,但是查看源代码,bringToFront() Canvas 方法将小部件的 zIndex 设置为 _BIG_Z_INDEX,它也会增加。

还有两个选择:

  1. 看起来 Bootstrap 多选小部件与具有 multipleAppearance:"picklist"的 SmartClient 多选 SelectItem 非常相似。参见 the Multi-Select example .如果需要,您当然可以设置 SelectItem pickList 的样式,使其看起来与 Bootstrap 多选小部件完全一样。

  2. SmartClient 支持通过 htmlElement 属性在现有 HTML 元素中嵌入 SmartClient 小部件。

关于javascript - 同构 (SmartClient) ListGrid 不允许 Div 标签溢出(与 Twitter Bootstrap 的多选冲突),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24887269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com