我在标记模式下使用select2来创建和编辑标签。存在令人讨厌的行为,即在页面加载和标签出现之间存在延迟。由于标签可以溢出到两行,因此在标签出现后,整个页面会在标签框下方的内容被按下时重新调整。
延迟是由select2将input
HTML标记转换为每个标记的必要HTML元素引起的。
如果select2没有为标签生成HTML,则可以避免延迟,而是我在服务器端生成它并且它包含在原始页面加载中。然后标签字段下方元素的位置永远不会改变。
有没有办法让select2自己附加它 - 预渲染 - HTML,而不是创建HTML本身?
是否有人知道支持此功能的标记字段组件?我看到的所有组件都以输入标记开头,然后使用Javascript动态生成HTML。
答案 0 :(得分:2)
我找不到满意的答案,所以我专门为我的用例创建了一个JQuery插件:https://github.com/k1w1/rendered-multi-select
它有Rails帮助器为服务器上的控件呈现HTML,然后在页面加载时附加Javascript事件。这样可以实现更快且无闪烁的加载。