Comments (17)
新table是否会保持列的宽度? 如果保持了有清的方法么?
from esui.
新table是否会保持列的宽度? 如果保持了有清的方法么?
我理解你说的是拖拽列宽之后保持宽度,现在是会保持列宽。
只要不修改fields 和 select,列宽都会保持不变,反之则清掉重来。
from esui.
哦 还有一点,当窗口resize的时候也会对列宽进行重新计算。
from esui.
嗯好,要的就是这效果
from esui.
我使用时发现一个问题,表格创建完后,会给主元素设置一个宽度,这样的问题是,如果表格的父容器改变宽度,宽度没法自适应
from esui.
Table
的设计就是如此的,因为每一列的宽度都要计算出来,所以必须有一个固定的宽度,如果容器宽度变了得重新渲染一下,直接调用repaint()
应该可以,有没有更好的办法请 @wurongyao 解答下吧
from esui.
总有些列要设置列宽,要嘛用百分比,要嘛用像素。
如果用像素,就要给主元素设置宽度,不允许宽度自适应。
如果用百分比,则不设置宽度,允许自适应。
但设定列宽用百分比并没有太大意义,因为宽度实际上是会改变的,只是相对于Table的比例不变而已。minWidth更往往是根据像素来设置的。
所以我觉得按照百分比设置列宽来实现自适应不太合理。
而且Table已经有自适应Resize处理,当window resize的时候会自动改变Table以及所有列的宽度。
非程序指定的父容器宽度改变,应该也只有window resize的时候了(可能还有别的情况,欢迎补充)。
其他时候应该都是程序主动改变父容器宽度的(或者程序可控,可预知的),
这时候,调用一下table的repaint函数就可以做到。
不过repaint等于重新渲染一次Table,消耗大,而且选中项,以及拖拽列宽,展开子列等操作效果都将消失,
我觉得可以给Table增加一个width属性,通过改变这个值让table去自适应,而不再次渲染Table。
from esui.
我觉得可以给Table增加一个width属性,通过改变这个值让table去自适应,而不再次渲染Table。
我觉得这个不错,是否可以在repaint
中增加一下改变width
时的逻辑,这样可以通过set('width', xxx)
来实现适应的效果。
再者,是否有必要提供一个adjustWidth()
方法,自动判断一下容器的宽度来给自己做一个set('width', xxx)
的工作,这样显得API上更容易被接受
from esui.
我觉得这个不错,是否可以在repaint中增加一下改变width时的逻辑,这样可以通过set('width', xxx)来实现适应的效果。
再者,是否有必要提供一个adjustWidth()方法,自动判断一下容器的宽度来给自己做一个set('width', xxx)的工作,这样显得API上更容易被接受
嗯,得在repaint中增加一下改变width时的逻辑。
adjustWidth也是个好主意。
@zhujl 觉得这样是否可以接受?
from esui.
已在版本: b2009be 中实现adjustWidth及width改变逻辑。
from esui.
@wurongyao 好的,我去试试
from esui.
bodyHeight这个东西,@zhujl 在使用的时候发现数据少的时候有点怪,表格body的高度超过了行的总高度。
如果需求是无论如何都维持Table整体高度,这是可以的,但是看起来很怪。
这种需求不知道多不多,没有数据时表格就矮一点应该可以理解。
我现在觉得bodyHeight似乎不需要,或者说它应该是bodyMaxHeight。
只有当行总高度超过tbody高度的时候,这个bodyheight才起作用。
@errorrik @otakustay @kitemao 如果有空的话一起看下这个做法是否合理。
from esui.
我倒认为bodyHeight
和bodyMaxHeight
都没用,表头固定都已经有了,想象不了啥时候要求表格有最大高度超出了弄个滚动条
从另一个方面来说,指定表格高度或最大高度的系统设计是无力吐嘈的,一个连通过控制数据条数来控制表格高度使之在友好范围内都做不到的系统,有什么上线的价值
from esui.
这边有这种场景,在一个dialog里面有一个table,这个dialog是有固定高度的(至少在屏幕内),table里的数据有300多条,这种情况还是body滚动比较好,就需要bodyHeight或bodyMaxHeight。
感觉设置bodyHeight由使用者决定,正常情况下别设置就可以了吧
from esui.
这种情况下为啥不是Dialog的body来滚动,而是用table呢……为了表头固定吗?
from esui.
嗯,表头固定,而且表格上面还有许多筛选项和搜索框
from esui.
嗯 bodyHeight 更多的时候应该是为了让表格上放的筛选项和搜索框固定。
就先保留吧,我先把它改成bodyMaxHeight,bodyHeight用起来太奇怪了。
from esui.
Related Issues (20)
- 日程投放控件 HOT 4
- InputCollection 应当继承 ControlCollection HOT 1
- Table 的 overflowX 属性为非 hidden 的时候多出一个横向滚动条 HOT 3
- BoxGroup有一处事件没使用addDOMEvent绑定
- 解决set和setProperties触发change的问题
- Table的依赖不全
- 控件初始化子控件时的valueReplacer管理
- 控件初始化子控件时的valueReplacer管理
- 控件初始化子控件时的valueReplacer管理
- 指定元素的销毁子控件
- Select 控件对于value比较判断的兼容性问题 HOT 2
- 希望能添加一些布局相关的组件 HOT 4
- 对于带有数据源的控件是否应该支持外部不提供数据源的场景的表决 HOT 19
- addChild的时候添加校验 HOT 6
- viewContext的疑问 HOT 3
- 加个Lisence HOT 1
- MonthView的年月下拉框格式可调 HOT 1
- 渐变背景的问题
- Panel控件的addContent方法不适用table布局 HOT 2
- 关于拓展组件
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from esui.