Commit 46a53081 authored by wlxuqu's avatar wlxuqu

1. 修复在nvue下样式的警告和报错问题

2. 修复grid组件在头条小程序的报错的问题
3. 优化tabs组件在头条小程序的表现问题
4. 修复index-list组件在头条小程序上的兼容性
5. 修复layout组件在头条小程序上的兼容性
6. 修复table组件在头条小程序上的兼容性
7. 修复checkbox组件在头条小程序上的兼容性
8. 修复radio组件在头条小程序上的兼容性
9. 修复form和form-item在头条小程序上的兼容性
10. 修复popup在头条小程序上底部有缺失的问题,同时连带修复使用了popup的keyborad和picker,calendar等组件的问题
11. 优化toast组件多次调用,可能会造成配置混乱的问题
12. 修复rate组件在微信,头条小程序上滑动选择可能不正确的问题
13. 优化line组件在头条小程序上的兼容性
14. 修复message-input组件在头条小程序上的兼容性
15. 优化link组件在头条小程序上复制链接后,toast弹出瞬间被关闭的问题
16. 优化empty演示在头条小程序上的兼容性
17. 优化tag组件在支付宝小程序上不支持行内样式加"!important"的问题
parent 92669cbf
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
"name" : "uView", "name" : "uView",
"appid" : "__UNI__60F4B81", "appid" : "__UNI__60F4B81",
"description" : "多平台快速开发的UI框架", "description" : "多平台快速开发的UI框架",
"versionName" : "1.6.5", "versionName" : "1.6.6",
"versionCode" : "100", "versionCode" : "100",
"transformPx" : false, "transformPx" : false,
"app-plus" : { "app-plus" : {
......
...@@ -17,58 +17,58 @@ ...@@ -17,58 +17,58 @@
<view class="u-config-item"> <view class="u-config-item">
<view class="u-item-title">模式选择</view> <view class="u-item-title">模式选择</view>
<u-table> <u-table>
<u-tr> <u-tr class="u-tr">
<u-td> <u-td class="u-td">
<u-button :hair-line="false" size="mini" @click="modeChange('car')">购物车为空</u-button> <u-button :hair-line="false" size="mini" @click="modeChange('car')">购物车为空</u-button>
</u-td> </u-td>
<u-td> <u-td class="u-td">
<u-button :hair-line="false" size="mini" @click="modeChange('page')">页面不存在</u-button> <u-button :hair-line="false" size="mini" @click="modeChange('page')">页面不存在</u-button>
</u-td> </u-td>
<u-td> <u-td class="u-td">
<u-button :hair-line="false" size="mini" @click="modeChange('search')">没有搜索结果</u-button> <u-button :hair-line="false" size="mini" @click="modeChange('search')">没有搜索结果</u-button>
</u-td> </u-td>
</u-tr> </u-tr>
<u-tr> <u-tr class="u-tr">
<u-td> <u-td class="u-td">
<u-button :hair-line="false" size="mini" @click="modeChange('address')">没有收货地址</u-button> <u-button :hair-line="false" size="mini" @click="modeChange('address')">没有收货地址</u-button>
</u-td> </u-td>
<u-td> <u-td class="u-td">
<u-button :hair-line="false" size="mini" @click="modeChange('wifi')">没有WiFi</u-button> <u-button :hair-line="false" size="mini" @click="modeChange('wifi')">没有WiFi</u-button>
</u-td> </u-td>
<u-td> <u-td class="u-td">
<u-button :hair-line="false" size="mini" @click="modeChange('order')">订单为空</u-button> <u-button :hair-line="false" size="mini" @click="modeChange('order')">订单为空</u-button>
</u-td> </u-td>
</u-tr> </u-tr>
<u-tr> <u-tr class="u-tr">
<u-td> <u-td class="u-td">
<u-button :hair-line="false" size="mini" @click="modeChange('coupon')">没有优惠券</u-button> <u-button :hair-line="false" size="mini" @click="modeChange('coupon')">没有优惠券</u-button>
</u-td> </u-td>
<u-td> <u-td class="u-td">
<u-button :hair-line="false" size="mini" @click="modeChange('favor')">没有收藏</u-button> <u-button :hair-line="false" size="mini" @click="modeChange('favor')">没有收藏</u-button>
</u-td> </u-td>
<u-td> <u-td class="u-td">
<u-button :hair-line="false" size="mini" @click="modeChange('permission')">无权限</u-button> <u-button :hair-line="false" size="mini" @click="modeChange('permission')">无权限</u-button>
</u-td> </u-td>
</u-tr> </u-tr>
<u-tr> <u-tr class="u-tr">
<u-td> <u-td class="u-td">
<u-button :hair-line="false" size="mini" @click="modeChange('history')">无历史记录</u-button> <u-button :hair-line="false" size="mini" @click="modeChange('history')">无历史记录</u-button>
</u-td> </u-td>
<u-td> <u-td class="u-td">
<u-button :hair-line="false" size="mini" @click="modeChange('news')">无新闻列表</u-button> <u-button :hair-line="false" size="mini" @click="modeChange('news')">无新闻列表</u-button>
</u-td> </u-td>
<u-td> <u-td class="u-td">
<u-button :hair-line="false" size="mini" @click="modeChange('message')">消息列表为空</u-button> <u-button :hair-line="false" size="mini" @click="modeChange('message')">消息列表为空</u-button>
</u-td> </u-td>
</u-tr> </u-tr>
<u-tr> <u-tr class="u-tr">
<u-td> <u-td class="u-td">
<u-button :hair-line="false" size="mini" @click="modeChange('list')">列表为空</u-button> <u-button :hair-line="false" size="mini" @click="modeChange('list')">列表为空</u-button>
</u-td> </u-td>
<u-td> <u-td class="u-td">
<u-button :hair-line="false" size="mini" @click="modeChange('data')">数据为空</u-button> <u-button :hair-line="false" size="mini" @click="modeChange('data')">数据为空</u-button>
</u-td> </u-td>
<u-td> <u-td class="u-td">
待扩展 待扩展
</u-td> </u-td>
</u-tr> </u-tr>
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
:show-title="showTitle" :async-close="asyncClose" :show-title="showTitle" :async-close="asyncClose"
@confirm="confirm" :content="content" @confirm="confirm" :content="content"
> >
<!-- #ifndef MP-WEIXIN --> <!-- #ifndef MP-WEIXIN || MP-TOUTIAO -->
<view class="warp" style="margin: 30rpx;" v-if="contentSlot"> <view class="warp" style="margin: 30rpx;" v-if="contentSlot">
<image class="logo" src="https://uviewui.com/common/logo.png" style="width: 220rpx;" mode="widthFix"></image> <image class="logo" src="https://uviewui.com/common/logo.png" style="width: 220rpx;" mode="widthFix"></image>
</view> </view>
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
@end="end" @end="end"
@moving="moving" @moving="moving"
> >
<!-- #ifndef MP-WEIXIN --> <!-- #ifndef MP-WEIXIN || MP-TOUTIAO -->
<view class="" v-if="useSlot"> <view class="" v-if="useSlot">
<view class="badge-button"> <view class="badge-button">
{{value}} {{value}}
......
...@@ -3,7 +3,8 @@ ...@@ -3,7 +3,8 @@
<view class="u-demo-wrap"> <view class="u-demo-wrap">
<view class="u-demo-title">演示效果</view> <view class="u-demo-title">演示效果</view>
<view class="u-demo-area u-flex u-row-center"> <view class="u-demo-area u-flex u-row-center">
<u-line :border-style="borderStyle" color="red" :color="color" :length="length" :direction="direction" :hair-line="hairLine"></u-line> <!-- 头条小程序因为兼容性,必须要给组件写上u-line类 -->
<u-line class="u-line" :border-style="borderStyle" color="red" :color="color" :length="length" :direction="direction" :hair-line="hairLine"></u-line>
</view> </view>
</view> </view>
<view class="u-config-wrap"> <view class="u-config-wrap">
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
</view> </view>
</view> </view>
<u-tabbar <u-tabbar
:beforeSwitch="beforeSwitch"
v-model="current" v-model="current"
:show="show" :show="show"
:bg-color="bgColor" :bg-color="bgColor"
......
<template> <template>
<view class=""> <view class="">
<u-dropdown ref="uDropdown" @open="open" @close="close"> <u-button @click="show = true;">打开弹窗</u-button>
<u-dropdown-item v-model="value1" title="距离" :options="options1" @change="change"></u-dropdown-item> <u-popup mode="bottom" v-model="show">
<u-dropdown-item v-model="value2" title="温度" :options="options2"></u-dropdown-item> <view class="content">
</u-dropdown> <u-image class="image" width="500rpx" height="300rpx" src="https://cdn.uviewui.com/uview/example/fade.jpg"></u-image>
<view class="confrim-btn">
<u-button @click="show = false;">确定</u-button>
</view>
</view>
</u-popup>
</view> </view>
</template> </template>
...@@ -11,42 +17,21 @@ ...@@ -11,42 +17,21 @@
export default { export default {
data() { data() {
return { return {
value1: 1, show: true
value2: 2,
options1: [{
label: '默认排序',
value: 1,
},
{
label: '距离优先',
value: 2,
} }
],
options2: [{
label: '去冰',
value: 1,
},
{
label: '加冰',
value: 2,
},
],
} }
},
methods: {
open(index) {
// 展开某个下来菜单时,先关闭原来的其他菜单高亮
// 同时内部会自动给当前展开项进行高亮
this.$refs.uDropdown.highlight();
},
close(index) {
// 关闭的时候,给当前项加上高亮
// 当然,您也可以通过监听dropdown-item的@change事件进行处理
this.$refs.uDropdown.highlight(index);
},
change() {
// 更多的细节,请自行实现
} }
</script>
<style lang="scss" scoped>
.content {
padding: 24rpx;
text-align: center;
position: relative;
} }
.image {
position: absolute;
top: -200rpx;
} }
</script> </style>
\ No newline at end of file \ No newline at end of file
...@@ -219,12 +219,16 @@ export default [{ ...@@ -219,12 +219,16 @@ export default [{
icon: 'mask', icon: 'mask',
title: 'Mask 遮罩层', title: 'Mask 遮罩层',
title_en: 'Mask', title_en: 'Mask',
}, { },
// #ifndef MP-TOUTIAO
{
path: '/pages/componentsA/noNetwork/index', path: '/pages/componentsA/noNetwork/index',
icon: 'noNetwork', icon: 'noNetwork',
title: 'NoNetwork 无网络提示', title: 'NoNetwork 无网络提示',
title_en: 'NoNetwork', title_en: 'NoNetwork',
}, { },
// #endif
{
path: '/pages/componentsC/grid/index', path: '/pages/componentsC/grid/index',
icon: 'grid', icon: 'grid',
title: 'Grid 宫格布局', title: 'Grid 宫格布局',
...@@ -250,12 +254,14 @@ export default [{ ...@@ -250,12 +254,14 @@ export default [{
title: 'Sticky 吸顶', title: 'Sticky 吸顶',
title_en: 'Sticky', title_en: 'Sticky',
}, },
// #ifndef MP-TOUTIAO
{ {
path: '/pages/componentsB/waterfall/index', path: '/pages/componentsB/waterfall/index',
icon: 'waterfall', icon: 'waterfall',
title: 'Waterfall 瀑布流', title: 'Waterfall 瀑布流',
title_en: 'Waterfall', title_en: 'Waterfall',
}, },
// #endif
{ {
path: '/pages/componentsB/divider/index', path: '/pages/componentsB/divider/index',
icon: 'divider', icon: 'divider',
......
...@@ -67,13 +67,13 @@ ...@@ -67,13 +67,13 @@
// #ifdef MP // #ifdef MP
uni.setClipboardData({ uni.setClipboardData({
data: this.href, data: this.href,
success() { success: () => {
uni.hideToast(); uni.hideToast();
}
});
this.$nextTick(() => { this.$nextTick(() => {
this.$u.toast(this.mpTips); this.$u.toast(this.mpTips);
}) })
}
});
// #endif // #endif
} }
} }
......
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
<view class="u-char-box"> <view class="u-char-box">
<view class="u-char-flex"> <view class="u-char-flex">
<input :disabled="disabledKeyboard" :value="valueModel" type="number" :focus="focus" :maxlength="maxlength" class="u-input" @input="getVal"/> <input :disabled="disabledKeyboard" :value="valueModel" type="number" :focus="focus" :maxlength="maxlength" class="u-input" @input="getVal"/>
<view v-for="(item, index) in maxlength" :key="index"> <!-- 这里需要通过new Array生成一个供循环的数组,是因为头条小程序不支持通过v-for历遍一个数值,其他端都是正常的 -->
<view v-for="(item, index) in (new Array(maxlength).fill(0))" :key="index">
<view :class="[breathe && charArrLength == index ? 'u-breathe' : '', 'u-char-item', <view :class="[breathe && charArrLength == index ? 'u-breathe' : '', 'u-char-item',
charArrLength === index && mode == 'box' ? 'u-box-active' : '', charArrLength === index && mode == 'box' ? 'u-box-active' : '',
mode === 'box' ? 'u-box' : '']" :style="{ mode === 'box' ? 'u-box' : '']" :style="{
...@@ -118,13 +119,13 @@ ...@@ -118,13 +119,13 @@
} }
}, },
watch: { watch: {
maxlength: { // maxlength: {
// 此值设置为true,会在组件加载后无需maxlength变化就会执行一次本监听函数,无需再created生命周期中处理 // // 此值设置为true,会在组件加载后无需maxlength变化就会执行一次本监听函数,无需再created生命周期中处理
immediate: true, // immediate: true,
handler(val) { // handler(val) {
this.maxlength = Number(val); // this.maxlength = Number(val);
} // }
}, // },
value: { value: {
immediate: true, immediate: true,
handler(val) { handler(val) {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<view v-if="visibleSync" :style="[customStyle, { <view v-if="visibleSync" :style="[customStyle, {
zIndex: uZindex - 1 zIndex: uZindex - 1
}]" class="u-drawer" hover-stop-propagation> }]" class="u-drawer" hover-stop-propagation>
<u-mask :custom-style="maskCustomStyle" :maskClickAble="maskCloseAble" :z-index="uZindex - 2" :show="showDrawer && mask" @click="maskClick"></u-mask> <u-mask :duration="duration" :custom-style="maskCustomStyle" :maskClickAble="maskCloseAble" :z-index="uZindex - 2" :show="showDrawer && mask" @click="maskClick"></u-mask>
<view <view
class="u-drawer-content" class="u-drawer-content"
@tap="modeCenterClose(mode)" @tap="modeCenterClose(mode)"
...@@ -188,6 +188,11 @@ export default { ...@@ -188,6 +188,11 @@ export default {
default() { default() {
return {} return {}
} }
},
// 遮罩打开或收起的动画过渡时间,单位ms
duration: {
type: [String, Number],
default: 250
} }
}, },
data() { data() {
...@@ -237,6 +242,7 @@ export default { ...@@ -237,6 +242,7 @@ export default {
// 不加可能圆角无效 // 不加可能圆角无效
style.overflow = 'hidden'; style.overflow = 'hidden';
} }
if(this.duration) style.transition = `all ${this.duration / 1000}s linear`;
return style; return style;
}, },
// 中部弹窗的特有样式 // 中部弹窗的特有样式
...@@ -323,7 +329,7 @@ export default { ...@@ -323,7 +329,7 @@ export default {
this.timer = setTimeout(() => { this.timer = setTimeout(() => {
this[param2] = status; this[param2] = status;
this.$emit(status ? 'open' : 'close'); this.$emit(status ? 'open' : 'close');
}, 300); }, this.duration);
} }
} }
} }
...@@ -351,7 +357,7 @@ export default { ...@@ -351,7 +357,7 @@ export default {
/* #endif */ /* #endif */
position: absolute; position: absolute;
z-index: 1003; z-index: 1003;
transition: all 0.3s linear; transition: all 0.25s linear;
} }
.u-drawer__scroll-view { .u-drawer__scroll-view {
......
...@@ -123,14 +123,14 @@ export default { ...@@ -123,14 +123,14 @@ export default {
// 获取评分组件盒子的布局信息 // 获取评分组件盒子的布局信息
getElRectById() { getElRectById() {
// uView封装的获取节点的方法,详见文档 // uView封装的获取节点的方法,详见文档
this.$u.getRect('#' + this.elId).then(res => { this.$uGetRect('#' + this.elId).then(res => {
this.starBoxLeft = res.left; this.starBoxLeft = res.left;
}) })
}, },
// 获取单个星星的尺寸 // 获取单个星星的尺寸
getElRectByClass() { getElRectByClass() {
// uView封装的获取节点的方法,详见文档 // uView封装的获取节点的方法,详见文档
this.$u.getRect('.' + this.elClass).then(res => { this.$uGetRect('.' + this.elClass).then(res => {
this.starWidth = res.width; this.starWidth = res.width;
// 把每个星星右边到组件盒子左边的距离放入数组中 // 把每个星星右边到组件盒子左边的距离放入数组中
for (let i = 0; i < this.count; i++) { for (let i = 0; i < this.count; i++) {
...@@ -191,8 +191,10 @@ export default { ...@@ -191,8 +191,10 @@ export default {
} }
}, },
mounted() { mounted() {
setTimeout(() => {
this.getElRectById(); this.getElRectById();
this.getElRectByClass(); this.getElRectByClass();
}, 100)
} }
}; };
</script> </script>
......
...@@ -112,9 +112,9 @@ ...@@ -112,9 +112,9 @@
customStyle() { customStyle() {
let style = {}; let style = {};
// 文字颜色(如果有此值,会覆盖type值的颜色) // 文字颜色(如果有此值,会覆盖type值的颜色)
if(this.color) style.color = this.color+"!important"; if(this.color) style.color = this.color;
// tag的背景颜色(如果有此值,会覆盖type值的颜色) // tag的背景颜色(如果有此值,会覆盖type值的颜色)
if(this.bgColor) style.backgroundColor = this.bgColor+"!important"; if(this.bgColor) style.backgroundColor = this.bgColor;
// 如果是镂空型tag,没有传递边框颜色(borderColor)的话,使用文字的颜色(color属性) // 如果是镂空型tag,没有传递边框颜色(borderColor)的话,使用文字的颜色(color属性)
if(this.mode == 'plain' && this.color && !this.borderColor) style.borderColor = this.color; if(this.mode == 'plain' && this.color && !this.borderColor) style.borderColor = this.color;
else style.borderColor = this.borderColor; else style.borderColor = this.borderColor;
......
<template> <template>
<view class="u-toast" :class="[isShow ? 'u-show' : '', 'u-type-' + config.type, 'u-position-' + config.position]" :style="{ <view class="u-toast" :class="[isShow ? 'u-show' : '', 'u-type-' + tmpConfig.type, 'u-position-' + tmpConfig.position]" :style="{
zIndex: uZIndex zIndex: uZIndex
}"> }">
<view class="u-icon-wrap"> <view class="u-icon-wrap">
<u-icon v-if="config.icon" class="u-icon" :name="iconName" :size="30" :color="config.type"></u-icon> <u-icon v-if="tmpConfig.icon" class="u-icon" :name="iconName" :size="30" :color="tmpConfig.type"></u-icon>
</view> </view>
<text class="u-text">{{config.title}}</text> <text class="u-text">{{tmpConfig.title}}</text>
</view> </view>
</template> </template>
...@@ -42,14 +42,15 @@ ...@@ -42,14 +42,15 @@
position: 'center', // toast出现的位置 position: 'center', // toast出现的位置
callback: null, // 执行完后的回调函数 callback: null, // 执行完后的回调函数
back: false, // 结束toast是否自动返回上一页 back: false, // 结束toast是否自动返回上一页
} },
tmpConfig: {}, // 将用户配置和内置配置合并后的临时配置变量
}; };
}, },
computed: { computed: {
iconName() { iconName() {
// 只有不为none,并且type为error|warning|succes|info时候,才显示图标 // 只有不为none,并且type为error|warning|succes|info时候,才显示图标
if (['error', 'warning', 'success', 'info'].indexOf(this.config.type) >= 0 && this.config.icon) { if (['error', 'warning', 'success', 'info'].indexOf(this.tmpConfig.type) >= 0 && this.tmpConfig.icon) {
let icon = this.$u.type2icon(this.config.type); let icon = this.$u.type2icon(this.tmpConfig.type);
return icon; return icon;
} }
}, },
...@@ -61,7 +62,8 @@ ...@@ -61,7 +62,8 @@
methods: { methods: {
// 显示toast组件,由父组件通过this.$refs.xxx.show(options)形式调用 // 显示toast组件,由父组件通过this.$refs.xxx.show(options)形式调用
show(options) { show(options) {
this.config = this.$u.deepMerge(this.config, options); // 不降结果合并到this.config变量,避免多次条用u-toast,前后的配置造成混论
this.tmpConfig = this.$u.deepMerge(this.config, options);
if (this.timer) { if (this.timer) {
// 清除定时器 // 清除定时器
clearTimeout(this.timer); clearTimeout(this.timer);
...@@ -74,9 +76,9 @@ ...@@ -74,9 +76,9 @@
clearTimeout(this.timer); clearTimeout(this.timer);
this.timer = null; this.timer = null;
// 判断是否存在callback方法,如果存在就执行 // 判断是否存在callback方法,如果存在就执行
typeof(this.config.callback) === 'function' && this.config.callback(); typeof(this.tmpConfig.callback) === 'function' && this.tmpConfig.callback();
this.timeEnd(); this.timeEnd();
}, this.config.duration); }, this.tmpConfig.duration);
}, },
// 隐藏toast组件,由父组件通过this.$refs.xxx.hide()形式调用 // 隐藏toast组件,由父组件通过this.$refs.xxx.hide()形式调用
hide() { hide() {
...@@ -90,35 +92,35 @@ ...@@ -90,35 +92,35 @@
// 倒计时结束之后,进行的一些操作 // 倒计时结束之后,进行的一些操作
timeEnd() { timeEnd() {
// 如果带有url值,根据isTab为true或者false进行跳转 // 如果带有url值,根据isTab为true或者false进行跳转
if (this.config.url) { if (this.tmpConfig.url) {
// 如果url没有"/"开头,添加上,因为uni的路由跳转需要"/"开头 // 如果url没有"/"开头,添加上,因为uni的路由跳转需要"/"开头
if (this.config.url[0] != '/') this.config.url = '/' + this.config.url; if (this.tmpConfig.url[0] != '/') this.tmpConfig.url = '/' + this.tmpConfig.url;
// 判断是否有传递显式的参数 // 判断是否有传递显式的参数
if (Object.keys(this.config.params).length) { if (Object.keys(this.tmpConfig.params).length) {
// 判断用户传递的url中,是否带有参数 // 判断用户传递的url中,是否带有参数
// 使用正则匹配,主要依据是判断是否有"/","?","="等,如“/page/index/index?name=mary" // 使用正则匹配,主要依据是判断是否有"/","?","="等,如“/page/index/index?name=mary"
// 如果有params参数,转换后无需带上"?" // 如果有params参数,转换后无需带上"?"
let query = ''; let query = '';
if (/.*\/.*\?.*=.*/.test(this.config.url)) { if (/.*\/.*\?.*=.*/.test(this.tmpConfig.url)) {
// object对象转为get类型的参数 // object对象转为get类型的参数
query = this.$u.queryParams(this.config.params, false); query = this.$u.queryParams(this.tmpConfig.params, false);
this.config.url = this.config.url + "&" + query; this.tmpConfig.url = this.tmpConfig.url + "&" + query;
} else { } else {
query = this.$u.queryParams(this.config.params); query = this.$u.queryParams(this.tmpConfig.params);
this.config.url += query; this.tmpConfig.url += query;
} }
} }
// 如果是跳转tab页面,就使用uni.switchTab // 如果是跳转tab页面,就使用uni.switchTab
if (this.config.isTab) { if (this.tmpConfig.isTab) {
uni.switchTab({ uni.switchTab({
url: this.config.url url: this.tmpConfig.url
}); });
} else { } else {
uni.navigateTo({ uni.navigateTo({
url: this.config.url url: this.tmpConfig.url
}); });
} }
} else if(this.config.back) { } else if(this.tmpConfig.back) {
// 回退到上一页 // 回退到上一页
this.$u.route({ this.$u.route({
type: 'back' type: 'back'
......
// 此版本发布于2020-08-25 // 此版本发布于2020-09-03
let version = '1.6.5'; let version = '1.6.6';
export default { export default {
v: version, v: version,
......
...@@ -56,6 +56,15 @@ u-icon { ...@@ -56,6 +56,15 @@ u-icon {
flex: 1; flex: 1;
align-self: stretch; align-self: stretch;
} }
// 避免小程序线条组件因为父组件display: flex;而失效
.u-line {
flex: 1;
}
.u-dropdown {
flex: 1;
}
/* #endif */ /* #endif */
/* end-头条小程序编译后页面有组件名的元素,特别处理--end */ /* end-头条小程序编译后页面有组件名的元素,特别处理--end */
......
{ {
"name": "uview-ui", "name": "uview-ui",
"version": "1.6.5", "version": "1.6.6",
"description": "uView UI,是uni-app生态优秀的UI框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水", "description": "uView UI,是uni-app生态优秀的UI框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水",
"main": "index.js", "main": "index.js",
"keywords": ["uview", "uView", "uni-app", "uni-app ui", "uniapp", "uviewui", "uview ui", "uviewUI", "uViewui", "uViewUI", "uView UI", "uni ui", "uni UI", "uniapp ui", "ui", "UI框架", "uniapp ui框架", "uniapp UI"], "keywords": ["uview", "uView", "uni-app", "uni-app ui", "uniapp", "uviewui", "uview ui", "uviewUI", "uViewui", "uViewUI", "uView UI", "uni ui", "uni UI", "uniapp ui", "ui", "UI框架", "uniapp ui框架", "uniapp UI"],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment