Giter Site home page Giter Site logo

zxui's People

Contributors

chriswong avatar jinzhubaofu avatar virola avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

zxui's Issues

Tip 默认导致页面底部一块空白

原因是默认 render 后 dom 已经 append 到 body,但未设置 top,根据 position: absolute 的定位规则,top 的值会是静态定位时的计算结果

select 组件提供 datasource 配置

zxui 的定位是一套比较简单好用的组件,那么很多跟实现相关的逻辑就不应该调用者去关心,比如怎么触发显示,触发谁显示,相对谁定位等等。

select 一般有两种定位:

  • 全局绝对定位(相对 body)
  • 局部绝对定位(相对 select 主元素)

如果不考虑 IE67,我觉得最好的方式是 2。

具体怎么实现都没关系,这是组件内部的逻辑。

select 最常用的场景就是弹出一个一维列表,我觉得 90% 以上的场景都是这样的。至于那种点击弹出一个面板,面板里的内容无法预计,所以只能提供一个元素的配置项。

对于最常用的场景,完全可以提供一个 datasource 配置,这样创建 select 就是简简单单的一句代码

new Select({
    main: $('select')[0],
    datasource: [
        { text: '', value: '' }
    ]
}).render()

Tip 组件箭头定位的问题

  • 在 tr、br 定位时,当目标 trigger 的宽度小于箭头宽度的 3 倍时,箭头定位超出提示层右边
  • 在 lb、rb 定位时,当目标 trigger 的高度小于箭头高度的 3 倍时,箭头定位超出提示层下边

Select 组件问题

  • 选择当前已选项时,选单不会自动隐藏
  • 选择目录有白色边框(接近180度观察)

pager控件对target的检测有异常

 if (target.tagName !== 'A') {
            var main = this.main;
            target = T.dom.getAncestorBy(target, function (el) {
                // 最高访问到控件根容器, 避免到文档根节点
                return el.tagName === 'A' || el === main;
            });

            if (target === main) {
                return;
            }
        }

如果点击事件发生在容器上,那么el === main 是不成立的。
这是target就会是null,然后执行下面的target.getAttribute是会报错。但是不影响使用。

City 组件调整

根据需求,需要:

  • 去掉 hinter
  • 去掉 hintText
  • 移除关闭按钮
  • 同时调整样式,

popup.js的render()有个小问题

if (!this.options.main) {
    main.innerHTML = this.content;
}

这段代码会导致city组件指定main的时候无法正常渲染。
但是去掉这个判断之后,select自定义main则无法渲染。。

是不是可以让city组件用其他字段指定渲染区域?

Calendar 组件 bug

init 中调用了 setRange -> updatePrevNextStatus -> date = date || this.date || this.from(this.value);

但是 this.value 的初始化在 setRange 调用之后,所以导致 updatePrevNextStatus 中 date 的值异常

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.