umicro / uview2.0 Goto Github PK
View Code? Open in Web Editor NEWuView UI,是全面兼容nvue的uni-app生态框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水
License: MIT License
uView UI,是全面兼容nvue的uni-app生态框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水
License: MIT License
button组件在nvue中,文字不显示
2.0 的rate组件点击第n颗星 总是传回第n+1颗星,减星操作的时候可以复现。
在HBuilderX中编译是正常的也打开了微信开发者工具了,但是微信开发者工具中报错了
Originally posted by @cxy-coder in #9 (comment)
如题,没有找到TypeScript的支持。
在 uniapp 的 v3.x 的文档中,注明 APP 端不支持 $slots
意味着整个UI库的 $slots.xxx
的判断都无法生效,就会导致在 APP 端,使用自定义插槽时,组件内无法判断。
例如在 u-cell
组件中使用自定义插槽 right-icon
时,组件由于拿不到 $slots
的值,无法通过 v-if
判断显示
以上只是其中一个例子,整个库中有多个地方都有使用到 $slots.xxx
,可能都会有该问题
我在自己写组件的时候也有遇到这个问题,我目前想到两种方案
继续上个例子举例,在 props 中添加 customRightIcon
属性,在模板中替换掉 $slots.xxx
的判断
props: {
customRightIcon: { type: Boolean, default: false }
}
<view class="u-cell__right-icon-wrap" v-if="customRightIcon || isLink">
...
</view>
该方案的好处在于:已知的兼容性好
,全平台都可兼容
该方案的坏处在于:每个需要 v-if
判断的自定义的插槽都需要定义 props
,使用者每次都需要写上自定义插槽的同时,添加对应的判断 props
属性,增加使用者的心智负担,并且会使不需要兼容 APP 的开发者也需要添加自定义属性。
props
定义的判断属性,不在替换代替 $slot.xxx
,而是在原有 v-if
的判断条件上添加 props
属性
<view class="u-cell__right-icon-wrap" v-if="$slots['right-icon'] || isLink || customRightIcon ">
...
</view>
需要兼容 APP 的开发者,在写插槽的同时添加上插槽对应的自定义 props
属性,否则直接写上插槽即可
vm.$scopedSlots
判断是否使用根据上面 v3.x 的介绍可得,v3.x
是兼容 $scopedSlots
,并且在 APP
中粗略测试后,发现在不指定 slot-scope
的情况下也能获取到传入的插槽
<!-- 业务 -->
<u-cell>
<view>这是 default 插槽</view>
<template #right-icon>
<view>这是 right-icon 插槽</view>
</template>
</u-cell>
<!-- u-cell -->
mounted() {
console.log(this.$scopedSlots)
}
由此可在原有 v-if
判断条件基础添加 $scopedSlots.xxxx
条件,即可兼容 APP 端
该方案的问题在于:只是简单的看了一下 $scopedSlots
api 拥有传入 slot,没有完整测试跨平台的兼容性。
以上思路的可行性如被通过,我很乐意为此方案提交 PR!如果有更好的实现思路,欢迎留言一起探讨学习。
微信小程序,popup组件mode为center时,closeOnClickOverlay=true无效。微信小程序扫码体验demo上就有这个问题。
感觉1.0版本给我一个比较大的方便点就是我可以快速的从iconfont中添加图标进行使用,感谢大佬为我们带来的2.0,如果方便可否先行将自定义图标功能实现,nvue不支持可以后续再想办法嘛,不能因为nvue不支持就放弃这么好的功能。
navbar第一个示例
navbar
<u-navbar
title="剑未配妥,出门已是江湖"
left-text="返回"
right-text="帮助"
@click-left="onClickBack"
@click-right="onClickRight"
></u-navbar>
click-left,click-right应该是leftClick和rightClick
1.当tabs 定义list数组为空时,再去接口请求数据赋值list数组 下滑快会往左偏移切换tabs后则正常了
2.current 定义为2 ,tabs还是在默认0,动态切换current 也没有变化
3.name属性没有作用
扫了微信小程序体验二维码,感觉组件点击有延迟,总感觉卡卡的。transition动画无效果
文档里没有写,不知道如何是最佳实现方式
源码中只有 this.$u.getRect
和 this.$uGetRect
,不知是文档错误还是源码没加上
平台:(h5、App),version: 2.0.2
u-modal的confirm事件不触发
无法进入uni-modal的confirm事件
Subsection 分段器 激活项层级高了一层把文字遮盖住了
在H5端中,mode模式为single、multiple时会出现排版错误,一排只有六个,并且当日计算的星期也是错误的,在range模式下正常
textarea 在此获取焦点的时候 会卡顿 在 ios 真机上
u-image 在ios手机中的微信小程序企业微信小程序中,因为安卓手机拍摄的照片如果手机发生了翻转,会导致ios中显示不正常,建议做一下兼容;
u-navbar的标题在安卓ios中的居中 居左的兼容希望做一下;
或者有没有类似的组件
感觉和uview1不是一个级别的东西,文档不全,各种奇怪的问题,用它开发h5和小程序简直是给自己找麻烦,不建议大家迁移过来
版本:2.X
组件路径:uview-ui/components/u-picker.vue
u-toolbar中没有添加
:cancelText="cancelText" :confirmText="confirmText"
属性,导致设置cancelText和confirmText时无法更改对应文字
改为
<u-toolbar v-if="showToolbar" :cancelColor="cancelColor" :confirmColor="confirmColor" :cancelText="cancelText" :confirmText="confirmText" :title="title" @cancel="cancel" @confirm="confirm" ></u-toolbar>
后,可正常设置
2.x版本 组件里面已经没有 u-cell-item, 应该是改成使用u-cell , 官方文档cell文档描述 代码案列未修改
现在只有左边有图标 希望能增加右边图标😄
2.0版本 全屏选项卡 组件时被移除了吗
getRect 底層是通過nodesRef.boundingClientRect的方式進行的,
但是nodesRef.boundingClientRect並不支持nvue,
建議文檔中進行說明,
另外的還有vuex,
明白工作上的強度問題,
希望不支持或不兼容的在文檔中進行說明或把對應文檔頁面先下架,後續兼容或支持後在補充。
小程序会报错: 页面【node-modules/uview-ui/components/u-transition/u-transition]错误,注释掉:const animation = uni.requireNativePlugin('animation')就ok
mode指定top|bottom時,
APP中大概率出現收縮後閃爍一下的情況
比如當mode為top時候,
關閉時候popup會向上收,當收完的時候會自動彈出閃爍一下再隱藏。
H5下沒有這個情況,
測試機型華為mate30p
uni.$u.http.post() 的 then 和 catch 是不是封装反了啊??
在 async中 await uni.$u.http.post(url,data) 居然没办法往下运行,报错 Unhandled promise rejection
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.