Commit bb453ec0 authored by wlxuqu's avatar wlxuqu

Merge branch 'yiruiwen' into dev

parents 4f8c388d 7d463c81
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
"name" : "uView", "name" : "uView",
"appid" : "__UNI__60F4B81", "appid" : "__UNI__60F4B81",
"description" : "多平台快速开发的UI框架", "description" : "多平台快速开发的UI框架",
"versionName" : "1.5.5", "versionName" : "1.5.6",
"versionCode" : "100", "versionCode" : "100",
"transformPx" : false, "transformPx" : false,
"app-plus" : { "app-plus" : {
......
...@@ -2,14 +2,14 @@ ...@@ -2,14 +2,14 @@
"easycom": { "easycom": {
"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue" "^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
}, },
// "condition": { //模式配置,仅开发期间生效 "condition": { //模式配置,仅开发期间生效
// "current": 0, //当前激活的模式(list 的索引项) "current": 0, //当前激活的模式(list 的索引项)
// "list": [{ "list": [{
// "name": "test", //模式名称 "name": "test", //模式名称
// "path": "pages/componentsB/table/index", //启动页面,必选 "path": "pages/componentsA/avatar/index", //启动页面,必选
// "query": "id=1&name=2" //启动参数,在页面的onLoad函数里面得到 "query": "id=1&name=2" //启动参数,在页面的onLoad函数里面得到
// }] }]
// }, },
"pages": [ "pages": [
// 演示-组件 // 演示-组件
{ {
...@@ -828,22 +828,22 @@ ...@@ -828,22 +828,22 @@
"backgroundColor": "#FFFFFF", "backgroundColor": "#FFFFFF",
"borderStyle": "black", "borderStyle": "black",
"list": [{ "list": [{
"pagePath": "pages/example/components", "pagePath": "pages/example/components"
"iconPath": "static/uview/example/component.png", // "iconPath": "static/uview/example/component.png",
"selectedIconPath": "static/uview/example/component_select.png", // "selectedIconPath": "static/uview/example/component_select.png",
"text": "组件" // "text": "组件"
}, },
{ {
"pagePath": "pages/example/js", "pagePath": "pages/example/js"
"iconPath": "static/uview/example/js.png", // "iconPath": "static/uview/example/js.png",
"selectedIconPath": "static/uview/example/js_select.png", // "selectedIconPath": "static/uview/example/js_select.png",
"text": "工具" // "text": "工具"
}, },
{ {
"pagePath": "pages/example/template", "pagePath": "pages/example/template"
"iconPath": "static/uview/example/template.png", // "iconPath": "static/uview/example/template.png",
"selectedIconPath": "static/uview/example/template_select.png", // "selectedIconPath": "static/uview/example/template_select.png",
"text": "模板" // "text": "模板"
} }
] ]
} }
......
...@@ -3,8 +3,16 @@ ...@@ -3,8 +3,16 @@
<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"> <view class="u-demo-area">
<u-avatar :mode="mode" :size="size" :src="src" :text="text"> <u-avatar
</u-avatar> :mode="mode"
:size="size"
:src="src"
:text="text"
:showLevel="showLevel"
:showSex="showSex"
:sexIcon="sexIcon"
:bgColor='bgColor'
></u-avatar>
</view> </view>
</view> </view>
<view class="u-config-wrap"> <view class="u-config-wrap">
...@@ -15,9 +23,17 @@ ...@@ -15,9 +23,17 @@
<view class="u-item-title">模式选择</view> <view class="u-item-title">模式选择</view>
<u-subsection vibrateShort :list="['圆形', '圆角方形']" @change="modeChange"></u-subsection> <u-subsection vibrateShort :list="['圆形', '圆角方形']" @change="modeChange"></u-subsection>
</view> </view>
<view class="u-config-item">
<view class="u-item-title">性别选择</view>
<u-subsection vibrateShort :list="['男', '女', '不显示']" @change="sexChange"></u-subsection>
</view>
<view class="u-config-item">
<view class="u-item-title">等级</view>
<u-subsection vibrateShort :list="['显示', '不显示']" @change="levelChange"></u-subsection>
</view>
<view class="u-config-item"> <view class="u-config-item">
<view class="u-item-title">自定义内容</view> <view class="u-item-title">自定义内容</view>
<u-subsection vibrateShort current="1" :list="['默认', '图片', '文字']" @change="styleChange"></u-subsection> <u-subsection vibrateShort current="0" :list="['图片', '文字']" @change="styleChange"></u-subsection>
</view> </view>
<view class="u-config-item"> <view class="u-config-item">
<view class="u-item-title">尺寸</view> <view class="u-item-title">尺寸</view>
...@@ -34,7 +50,11 @@ ...@@ -34,7 +50,11 @@
mode: 'circle', mode: 'circle',
src: 'http://pic2.sc.chinaz.com/Files/pic/pic9/202002/hpic2119_s.jpg', src: 'http://pic2.sc.chinaz.com/Files/pic/pic9/202002/hpic2119_s.jpg',
text: '', // 优先级比src高 text: '', // 优先级比src高
size: '90' size: '90',
showLevel: true,
showSex: true,
sexIcon: 'man',
bgColor: '#fcbd71'
} }
}, },
methods: { methods: {
...@@ -43,9 +63,6 @@ ...@@ -43,9 +63,6 @@
}, },
styleChange(index) { styleChange(index) {
if(index == 0) { if(index == 0) {
this.src = '';
this.text = '';
} else if(index == 1) {
this.text = ''; this.text = '';
this.src = 'http://pic2.sc.chinaz.com/Files/pic/pic9/202002/hpic2119_s.jpg'; this.src = 'http://pic2.sc.chinaz.com/Files/pic/pic9/202002/hpic2119_s.jpg';
} else { } else {
...@@ -54,8 +71,16 @@ ...@@ -54,8 +71,16 @@
}, },
sizeChange(index) { sizeChange(index) {
this.size = index == 0 ? 'large' : index == 1 ? 'default' : index == 2 ? 'mini' : 160; this.size = index == 0 ? 'large' : index == 1 ? 'default' : index == 2 ? 'mini' : 160;
},
sexChange(index) {
this.showSex = true;
if(index == 0) this.sexIcon = 'man';
if(index == 1) this.sexIcon = 'woman';
if(index == 2) this.showSex = false;
},
levelChange(index) {
this.showLevel = !index;
} }
} }
} }
</script> </script>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<view class="u-demo-title">演示效果</view> <view class="u-demo-title">演示效果</view>
<view class="u-demo-area"> <view class="u-demo-area">
<u-toast ref="uToast"></u-toast> <u-toast ref="uToast"></u-toast>
<u-sticky :offset-top="offsetTop" :enable="enable" @fixed="fixed"> <u-sticky :offset-top="offsetTop" :enable="enable" @fixed="fixed" @unfixed="unfixed">
<view class="sticky"> <view class="sticky">
宝剑锋从磨砺出,梅花香自苦寒来 宝剑锋从磨砺出,梅花香自苦寒来
</view> </view>
...@@ -51,6 +51,12 @@ ...@@ -51,6 +51,12 @@
type: 'warning', type: 'warning',
title: '触发吸顶' title: '触发吸顶'
}) })
},
unfixed() {
this.$refs.uToast.show({
type: 'success',
title: '取消吸顶'
})
} }
} }
} }
......
...@@ -18,7 +18,9 @@ ...@@ -18,7 +18,9 @@
</view> </view>
<view class="demo-shop">{{ item.shop }}</view> <view class="demo-shop">{{ item.shop }}</view>
<!-- 微信小程序无效,因为它不支持在template中引入组件 --> <!-- 微信小程序无效,因为它不支持在template中引入组件 -->
<u-icon name="close-circle-fill" color="#fa3534" size="34" class="u-close" @click="remove(item.id)"></u-icon> <view class="u-close">
<u-icon name="close-circle-fill" color="#fa3534" size="34" @click="remove(item.id)"></u-icon>
</view>
</view> </view>
</template> </template>
<template v-slot:right="{ rightList }"> <template v-slot:right="{ rightList }">
...@@ -37,7 +39,9 @@ ...@@ -37,7 +39,9 @@
</view> </view>
<view class="demo-shop">{{ item.shop }}</view> <view class="demo-shop">{{ item.shop }}</view>
<!-- 微信小程序无效,因为它不支持在template中引入组件 --> <!-- 微信小程序无效,因为它不支持在template中引入组件 -->
<u-icon name="close-circle-fill" color="#fa3534" size="34" class="u-close" @click="remove(item.id)"></u-icon> <view class="u-close">
<u-icon name="close-circle-fill" color="#fa3534" size="34" @click="remove(item.id)"></u-icon>
</view>
</view> </view>
</template> </template>
</u-waterfall> </u-waterfall>
......
...@@ -32,7 +32,8 @@ ...@@ -32,7 +32,8 @@
list: [{ list: [{
text: '最是人间留不住', text: '最是人间留不住',
}, { }, {
text: '朱颜辞镜花辞树' text: '朱颜辞镜花辞树',
disabled: true
}, { }, {
text: '正是江南好风景' text: '正是江南好风景'
}, { }, {
......
<template> <template>
<view class="u-content"> <view>
<u-dropdown-list></u-dropdown-list> <u-popup v-model="show" @close="close">
<view>出淤泥而不染,濯清涟而不妖</view>
</u-popup>
<u-button @click="show = true">打开</u-button>
</view> </view>
</template> </template>
...@@ -8,25 +11,13 @@ ...@@ -8,25 +11,13 @@
export default { export default {
data() { data() {
return { return {
content: ` show: false
<p>露从今夜白,月是故乡明</p>
<img src="https://cdn.uviewui.com/uview/swiper/2.jpg" />
`
} }
}, },
} methods: {
</script> close() {
console.log('close');
<style lang="scss" scoped> }
.u-content {
margin-top: 100rpx;
color: $u-content-color;
font-size: 32rpx;
line-height: 1.8;
// 标签形式无效
p {
color: $u-tips-color;
} }
} }
</style> </script>
\ No newline at end of file
...@@ -198,13 +198,11 @@ export default [{ ...@@ -198,13 +198,11 @@ export default [{
icon: 'sticky', icon: 'sticky',
title: 'Sticky 吸顶', title: 'Sticky 吸顶',
}, },
// #ifndef MP-ALIPAY
{ {
path: '/pages/componentsB/waterfall/index', path: '/pages/componentsB/waterfall/index',
icon: 'waterfall', icon: 'waterfall',
title: 'Waterfall 瀑布流', title: 'Waterfall 瀑布流',
}, },
// #endif
{ {
path: '/pages/componentsB/divider/index', path: '/pages/componentsB/divider/index',
icon: 'divider', icon: 'divider',
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
</u-cell-group> </u-cell-group>
</view> </view>
<u-gap height="70"></u-gap> <u-gap height="70"></u-gap>
<u-tabbar :list="vuex_tabbar" :mid-button="true"></u-tabbar>
</view> </view>
</template> </template>
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
</u-cell-group> </u-cell-group>
</view> </view>
<u-gap height="70"></u-gap> <u-gap height="70"></u-gap>
<u-tabbar :list="vuex_tabbar" :mid-button="true"></u-tabbar>
</view> </view>
</template> </template>
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
</u-cell-group> </u-cell-group>
</view> </view>
<u-gap height="70"></u-gap> <u-gap height="70"></u-gap>
<u-tabbar :list="vuex_tabbar" :mid-button="true"></u-tabbar>
</view> </view>
</template> </template>
......
static/uview/example/js.png

3.14 KB | W: | H:

static/uview/example/js.png

4.14 KB | W: | H:

static/uview/example/js.png
static/uview/example/js.png
static/uview/example/js.png
static/uview/example/js.png
  • 2-up
  • Swipe
  • Onion skin
static/uview/example/js_select.png

2.2 KB | W: | H:

static/uview/example/js_select.png

4.18 KB | W: | H:

static/uview/example/js_select.png
static/uview/example/js_select.png
static/uview/example/js_select.png
static/uview/example/js_select.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -36,6 +36,27 @@ const store = new Vuex.Store({ ...@@ -36,6 +36,27 @@ const store = new Vuex.Store({
// 如果vuex_version无需保存到本地永久存储,无需lifeData.vuex_version方式 // 如果vuex_version无需保存到本地永久存储,无需lifeData.vuex_version方式
vuex_version: '1.0.1', vuex_version: '1.0.1',
vuex_demo: '绛紫', vuex_demo: '绛紫',
// 自定义tabbar数据
vuex_tabbar: [{
iconPath: "/static/uview/example/component.png",
selectedIconPath: "/static/uview/example/component_select.png",
text: '组件',
pagePath: '/pages/example/components'
},
{
iconPath: "/static/uview/example/js.png",
selectedIconPath: "/static/uview/example/js_select.png",
text: '工具',
midButton: true,
pagePath: '/pages/example/js'
},
{
iconPath: "/static/uview/example/template.png",
selectedIconPath: "/static/uview/example/template_select.png",
text: '模板',
pagePath: '/pages/example/template'
}
]
}, },
mutations: { mutations: {
$uStore(state, payload) { $uStore(state, payload) {
......
<template> <template>
<u-popup mode="bottom" :border-radius="borderRadius" :popup="false" v-model="value" :maskCloseAble="maskCloseAble" <u-popup mode="bottom" :border-radius="borderRadius" :popup="false" v-model="value" :maskCloseAble="maskCloseAble"
length="auto" :safeAreaInsetBottom="safeAreaInsetBottom" @close="popupClose" :z-index="uZIndex"> length="auto" :safeAreaInsetBottom="safeAreaInsetBottom" @close="popupClose" :z-index="uZIndex">
<view class="u-tips u-border-bottom" v-if="tips.text" :style="[tipsStyle]"> <view class="u-tips u-border-bottom" v-if="tips.text" :style="[tipsStyle]">
{{tips.text}} {{tips.text}}
</view> </view>
<block v-for="(item, index) in list" :key="index"> <block v-for="(item, index) in list" :key="index">
<view @touchmove.stop.prevent @tap="itemClick(index)" :style="[itemStyle(index)]" class="u-action-sheet-item" :class="[index < list.length - 1 ? 'u-border-bottom' : '']" <view
hover-class="u-hover-class" :hover-stay-time="150"> @touchmove.stop.prevent
@tap="itemClick(index)"
:style="[itemStyle(index)]"
class="u-action-sheet-item"
:class="[index < list.length - 1 ? 'u-border-bottom' : '']"
:hover-stay-time="150"
>
{{item.text}} {{item.text}}
</view> </view>
</block> </block>
<view class="u-gab" v-if="cancelBtn"> <view class="u-gab" v-if="cancelBtn">
</view> </view>
<view @touchmove.stop.prevent class="u-actionsheet-cancel u-action-sheet-item" hover-class="u-hover-class" <view @touchmove.stop.prevent class="u-actionsheet-cancel u-action-sheet-item" hover-class="u-hover-class"
:hover-stay-time="150" v-if="cancelBtn" @tap="close">{{cancelText}}</view> :hover-stay-time="150" v-if="cancelBtn" @tap="close">{{cancelText}}</view>
</u-popup> </u-popup>
</template> </template>
...@@ -112,6 +118,8 @@ ...@@ -112,6 +118,8 @@
let style = {}; let style = {};
if (this.list[index].color) style.color = this.list[index].color; if (this.list[index].color) style.color = this.list[index].color;
if (this.list[index].fontSize) style.fontSize = this.list[index].fontSize + 'rpx'; if (this.list[index].fontSize) style.fontSize = this.list[index].fontSize + 'rpx';
// 选项被禁用的样式
if (this.list[index].disabled) style.color = '#c0c4cc';
return style; return style;
} }
}, },
...@@ -132,8 +140,10 @@ ...@@ -132,8 +140,10 @@
popupClose() { popupClose() {
this.$emit('input', false); this.$emit('input', false);
}, },
// 点击某一个itemif (!this.show) return; // 点击某一个item
itemClick(index) { itemClick(index) {
// disabled的项禁止点击
if(this.list[index].disabled) return;
this.$emit('click', index); this.$emit('click', index);
this.$emit('input', false); this.$emit('input', false);
} }
...@@ -143,7 +153,7 @@ ...@@ -143,7 +153,7 @@
<style lang="scss" scoped> <style lang="scss" scoped>
@import "../../libs/css/style.components.scss"; @import "../../libs/css/style.components.scss";
.u-tips { .u-tips {
font-size: 26rpx; font-size: 26rpx;
text-align: center; text-align: center;
......
...@@ -3,13 +3,21 @@ ...@@ -3,13 +3,21 @@
<image <image
@error="loadError" @error="loadError"
:style="[imgStyle]" :style="[imgStyle]"
class="u-avatar-img" class="u-avatar__img"
v-if="!text && avatar" v-if="!uText && avatar"
:src="avatar" :src="avatar"
:mode="mode" :mode="mode"
></image> ></image>
<text class="u-line-1" v-else-if="text">{{text}}</text> <text class="u-line-1" v-else-if="uText" :style="{
fontSize: '38rpx'
}">{{uText}}</text>
<slot v-else></slot> <slot v-else></slot>
<view class="u-avatar__sex" v-if="showSex" :class="['u-avatar__sex--' + sexIcon]" :style="[uSexStyle]">
<u-icon :name="sexIcon" size="20"></u-icon>
</view>
<view class="u-avatar__level" v-if="showLevel" :style="[uLevelStyle]">
<u-icon :name="levelIcon" size="20"></u-icon>
</view>
</view> </view>
</template> </template>
...@@ -23,7 +31,12 @@ ...@@ -23,7 +31,12 @@
* @property {String} src 头像路径,如加载失败,将会显示默认头像 * @property {String} src 头像路径,如加载失败,将会显示默认头像
* @property {String Number} size 头像尺寸,可以为指定字符串(large, default, mini),或者数值,单位rpx(默认default) * @property {String Number} size 头像尺寸,可以为指定字符串(large, default, mini),或者数值,单位rpx(默认default)
* @property {String} mode 显示类型,见上方说明(默认circle) * @property {String} mode 显示类型,见上方说明(默认circle)
* @property {String} text 用文字替代图片,级别优先于src * @property {String} sex-icon 性别图标,man-男,woman-女(默认man)
* @property {String} level-icon 等级图标(默认level)
* @property {String} sex-bg-color 性别图标背景颜色
* @property {String} level-bg-color 等级图标背景颜色
* @property {String} show-sex 是否显示性别图标(默认false)
* @property {String} show-level 是否显示等级图标(默认false)
* @property {String} img-mode 头像图片的裁剪类型,与uni的image组件的mode参数一致,如效果达不到需求,可尝试传widthFix值(默认aspectFill) * @property {String} img-mode 头像图片的裁剪类型,与uni的image组件的mode参数一致,如效果达不到需求,可尝试传widthFix值(默认aspectFill)
* @property {String} index 用户传递的标识符值,如果是列表循环,可穿v-for的index值 * @property {String} index 用户传递的标识符值,如果是列表循环,可穿v-for的index值
* @event {Function} click 头像被点击 * @event {Function} click 头像被点击
...@@ -67,6 +80,36 @@ ...@@ -67,6 +80,36 @@
index: { index: {
type: [String, Number], type: [String, Number],
default: '' default: ''
},
// 右上角性别角标,man-男,woman-女
sexIcon: {
type: String,
default: 'man'
},
// 右下角的等级图标
levelIcon: {
type: String,
default: 'level'
},
// 右下角等级图标背景颜色
levelBgColor: {
type: String,
default: ''
},
// 右上角性别图标的背景颜色
sexBgColor: {
type: String,
default: ''
},
// 是否显示性别图标
showSex: {
type: Boolean,
default: false
},
// 是否显示等级图标
showLevel: {
type: Boolean,
default: false
} }
}, },
data() { data() {
...@@ -99,6 +142,22 @@ ...@@ -99,6 +142,22 @@
style.borderRadius = this.mode == 'circle' ? '500px' : '5px'; style.borderRadius = this.mode == 'circle' ? '500px' : '5px';
return style; return style;
}, },
// 取字符串的第一个字符
uText() {
return String(this.text)[0];
},
// 性别图标的自定义样式
uSexStyle() {
let style = {};
if(this.sexBgColor) style.backgroundColor = this.sexBgColor;
return style;
},
// 等级图标的自定义样式
uLevelStyle() {
let style = {};
if(this.levelBgColor) style.backgroundColor = this.levelBgColor;
return style;
}
}, },
methods: { methods: {
// 图片加载错误时,显示默认头像 // 图片加载错误时,显示默认头像
...@@ -123,11 +182,54 @@ ...@@ -123,11 +182,54 @@
font-size: 28rpx; font-size: 28rpx;
color: $u-content-color; color: $u-content-color;
border-radius: 10px; border-radius: 10px;
overflow: hidden; position: relative;
}
&__img {
.u-avatar-img { width: 100%;
width: 100%; height: 100%;
height: 100%; }
&__sex {
position: absolute;
width: 32rpx;
color: #ffffff;
height: 32rpx;
display: flex;
justify-content: center;
align-items: center;
border-radius: 100rpx;
top: 5%;
z-index: 1;
right: -7%;
border: 1px #ffffff solid;
&--man {
background-color: $u-type-primary;
}
&--woman {
background-color: $u-type-error;
}
&--none {
background-color: $u-type-warning;
}
}
&__level {
position: absolute;
width: 32rpx;
color: #ffffff;
height: 32rpx;
display: flex;
justify-content: center;
align-items: center;
border-radius: 100rpx;
bottom: 5%;
z-index: 1;
right: -7%;
border: 1px #ffffff solid;
background-color: $u-type-warning;
}
} }
</style> </style>
...@@ -66,6 +66,7 @@ ...@@ -66,6 +66,7 @@
* @property {Boolean} loading 按钮名称前是否带 loading 图标(App-nvue 平台,在 ios 上为雪花,Android上为圆圈) * @property {Boolean} loading 按钮名称前是否带 loading 图标(App-nvue 平台,在 ios 上为雪花,Android上为圆圈)
* @property {String} form-type 用于 <form> 组件,点击分别会触发 <form> 组件的 submit/reset 事件 * @property {String} form-type 用于 <form> 组件,点击分别会触发 <form> 组件的 submit/reset 事件
* @property {String} open-type 开放能力 * @property {String} open-type 开放能力
* @property {String} data-name 额外传参参数,用于小程序的data-xxx属性,通过target.dataset.name获取
* @property {String} hover-class 指定按钮按下去的样式类。当 hover-class="none" 时,没有点击态效果(App-nvue 平台暂不支持) * @property {String} hover-class 指定按钮按下去的样式类。当 hover-class="none" 时,没有点击态效果(App-nvue 平台暂不支持)
* @property {Number} hover-start-time 按住后多久出现点击态,单位毫秒 * @property {Number} hover-start-time 按住后多久出现点击态,单位毫秒
* @property {Number} hover-stay-time 手指松开后点击态保留时间,单位毫秒 * @property {Number} hover-stay-time 手指松开后点击态保留时间,单位毫秒
...@@ -245,7 +246,7 @@ export default { ...@@ -245,7 +246,7 @@ export default {
this.getWaveQuery(e); this.getWaveQuery(e);
}); });
} }
this.$emit('click'); this.$emit('click', e);
}, },
// 查询按钮的节点信息 // 查询按钮的节点信息
getWaveQuery(e) { getWaveQuery(e) {
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
flex: `0 0 ${100 / 12 * span}%`, flex: `0 0 ${100 / 12 * span}%`,
alignItems: uAlignItem, alignItems: uAlignItem,
justifyContent: uJustify, justifyContent: uJustify,
textAlign: this.textAlign textAlign: textAlign
}" @tap.stop.prevent="click"> }" @tap.stop.prevent="click">
<slot></slot> <slot></slot>
</view> </view>
......
...@@ -34,6 +34,9 @@ ...@@ -34,6 +34,9 @@
* @property {String} label-pos label相对于图标的位置,只能right或bottom(默认right) * @property {String} label-pos label相对于图标的位置,只能right或bottom(默认right)
* @property {String} index 一个用于区分多个图标的值,点击图标时通过click事件传出 * @property {String} index 一个用于区分多个图标的值,点击图标时通过click事件传出
* @property {String} hover-class 图标按下去的样式类,用法同uni的view组件的hover-class参数,详情见官网 * @property {String} hover-class 图标按下去的样式类,用法同uni的view组件的hover-class参数,详情见官网
* @property {String} width 显示图片小图标时的宽度
* @property {String} height 显示图片小图标时的高度
* @property {String} top 图标在垂直方向上的定位
* @event {Function} click 点击图标时触发 * @event {Function} click 点击图标时触发
* @example <u-icon name="photo" color="#2979ff" size="28"></u-icon> * @example <u-icon name="photo" color="#2979ff" size="28"></u-icon>
*/ */
...@@ -127,6 +130,21 @@ export default { ...@@ -127,6 +130,21 @@ export default {
return {} return {}
} }
}, },
// 用于显示图片小图标时,图片的宽度
width: {
type: [String, Number],
default: ''
},
// 用于显示图片小图标时,图片的高度
height: {
type: [String, Number],
default: ''
},
// 用于解决某些情况下,让图标垂直居中的用途
top: {
type: [String, Number],
default: ''
}
}, },
computed: { computed: {
customClass() { customClass() {
...@@ -148,7 +166,9 @@ export default { ...@@ -148,7 +166,9 @@ export default {
let style = {}; let style = {};
style = { style = {
fontSize: this.size == 'inherit' ? 'inherit' : this.$u.addUnit(this.size), fontSize: this.size == 'inherit' ? 'inherit' : this.$u.addUnit(this.size),
fontWeight: this.bold ? 'bold' : 'normal' fontWeight: this.bold ? 'bold' : 'normal',
// 安卓和iOS各需要设置一个到顶部的距离,才能更好的垂直居中
top: this.top === '' ? (this.$u.os == 'ios' ? '2rpx' : '4rpx') : 0
}; };
// 非主题色值时,才当作颜色值 // 非主题色值时,才当作颜色值
if (this.color && !this.$u.config.type.includes(this.color)) style.color = this.color; if (this.color && !this.$u.config.type.includes(this.color)) style.color = this.color;
...@@ -160,8 +180,9 @@ export default { ...@@ -160,8 +180,9 @@ export default {
}, },
imgStyle() { imgStyle() {
let style = {}; let style = {};
style.width = this.$u.addUnit(this.size); // 如果设置width和height属性,则优先使用,否则使用size属性
style.height = this.$u.addUnit(this.size); style.width = this.width ? this.$u.addUnit(this.width) : this.$u.addUnit(this.size);
style.height = this.height ? this.$u.addUnit(this.height) : this.$u.addUnit(this.size);
return style; return style;
} }
}, },
...@@ -205,6 +226,8 @@ export default { ...@@ -205,6 +226,8 @@ export default {
} }
&__icon { &__icon {
position: relative;
&--primary { &--primary {
color: $u-type-primary; color: $u-type-primary;
} }
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
}" }"
> >
<slot v-if="$slots.loading" name="loading" /> <slot v-if="$slots.loading" name="loading" />
<u-icon v-else :name="loadingIcon"></u-icon> <u-icon v-else :name="loadingIcon" :width="width" :height="height"></u-icon>
</view> </view>
<view <view
v-if="showError && isError && !loading" v-if="showError && isError && !loading"
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
}" }"
> >
<slot v-if="$slots.error" name="error" /> <slot v-if="$slots.error" name="error" />
<u-icon v-else :name="errorIcon"></u-icon> <u-icon v-else :name="errorIcon" :width="width" :height="height"></u-icon>
</view> </view>
</view> </view>
</template> </template>
...@@ -54,6 +54,8 @@ ...@@ -54,6 +54,8 @@
* @property {Boolean} show-loading 是否显示加载中的图标或者自定义的slot(默认 true) * @property {Boolean} show-loading 是否显示加载中的图标或者自定义的slot(默认 true)
* @property {Boolean} show-error 是否显示加载错误的图标或者自定义的slot(默认 true) * @property {Boolean} show-error 是否显示加载错误的图标或者自定义的slot(默认 true)
* @property {Boolean} fade 是否需要淡入效果(默认 true) * @property {Boolean} fade 是否需要淡入效果(默认 true)
* @property {String Number} width 传入图片路径时图片的宽度
* @property {String Number} height 传入图片路径时图片的高度
* @property {Boolean} webp 只支持网络资源,只对微信小程序有效(默认 false) * @property {Boolean} webp 只支持网络资源,只对微信小程序有效(默认 false)
* @property {String | Number} duration 搭配fade参数的过渡时间,单位ms(默认 500) * @property {String | Number} duration 搭配fade参数的过渡时间,单位ms(默认 500)
* @event {Function} click 点击图片时触发 * @event {Function} click 点击图片时触发
...@@ -62,6 +64,7 @@ ...@@ -62,6 +64,7 @@
* @example <u-image width="100%" height="300rpx" :src="src"></u-image> * @example <u-image width="100%" height="300rpx" :src="src"></u-image>
*/ */
export default { export default {
name: 'u-image',
props: { props: {
// 图片地址 // 图片地址
src: { src: {
......
...@@ -24,6 +24,8 @@ ...@@ -24,6 +24,8 @@
:fixed="fixed" :fixed="fixed"
:focus="focus" :focus="focus"
:autoHeight="autoHeight" :autoHeight="autoHeight"
:selection-end="uSelectionEnd"
:selection-start="uSelectionStart"
@input="handleInput" @input="handleInput"
@blur="handleBlur" @blur="handleBlur"
@focus="onFocus" @focus="onFocus"
...@@ -43,6 +45,8 @@ ...@@ -43,6 +45,8 @@
:focus="focus" :focus="focus"
:confirmType="confirmType" :confirmType="confirmType"
:cursor-spacing="getCursorSpacing" :cursor-spacing="getCursorSpacing"
:selection-end="uSelectionEnd"
:selection-start="uSelectionStart"
@focus="onFocus" @focus="onFocus"
@blur="handleBlur" @blur="handleBlur"
@input="handleInput" @input="handleInput"
...@@ -78,6 +82,8 @@ import Emitter from '../../libs/util/emitter.js'; ...@@ -78,6 +82,8 @@ import Emitter from '../../libs/util/emitter.js';
* @property {String} placeholder placeholder显示值(默认 '请输入内容') * @property {String} placeholder placeholder显示值(默认 '请输入内容')
* @property {Boolean} disabled 是否禁用输入框(默认false) * @property {Boolean} disabled 是否禁用输入框(默认false)
* @property {String Number} maxlength 输入框的最大可输入长度(默认140) * @property {String Number} maxlength 输入框的最大可输入长度(默认140)
* @property {String Number} selection-start 光标起始位置,自动聚焦时有效,需与selection-end搭配使用(默认-1)
* @property {String Number} maxlength 光标结束位置,自动聚焦时有效,需与selection-start搭配使用(默认-1)
* @property {String Number} cursor-spacing 指定光标与键盘的距离,单位px(默认0) * @property {String Number} cursor-spacing 指定光标与键盘的距离,单位px(默认0)
* @property {String} placeholderStyle placeholder的样式,字符串形式,如"color: red;"(默认 "color: #c0c4cc;") * @property {String} placeholderStyle placeholder的样式,字符串形式,如"color: red;"(默认 "color: #c0c4cc;")
* @property {String} confirm-type 设置键盘右下角按钮的文字,仅在type为text时生效(默认done) * @property {String} confirm-type 设置键盘右下角按钮的文字,仅在type为text时生效(默认done)
...@@ -184,6 +190,16 @@ export default { ...@@ -184,6 +190,16 @@ export default {
cursorSpacing: { cursorSpacing: {
type: [Number, String], type: [Number, String],
default: 0 default: 0
},
// 光标起始位置,自动聚焦时有效,需与selection-end搭配使用
selectionStart: {
type: [Number, String],
default: -1
},
// 光标结束位置,自动聚焦时有效,需与selection-start搭配使用
selectionEnd: {
type: [Number, String],
default: -1
} }
}, },
data() { data() {
...@@ -223,6 +239,14 @@ export default { ...@@ -223,6 +239,14 @@ export default {
// //
getCursorSpacing() { getCursorSpacing() {
return Number(this.cursorSpacing); return Number(this.cursorSpacing);
},
// 光标起始位置
uSelectionStart() {
return String(this.selectionStart);
},
// 光标结束位置
uSelectionEnd() {
return String(this.selectionEnd);
} }
}, },
created() { created() {
......
...@@ -4,13 +4,13 @@ ...@@ -4,13 +4,13 @@
<slot /> <slot />
<view class="u-tooltip" v-if="tooltip"> <view class="u-tooltip" v-if="tooltip">
<view class="u-tooltip-item u-tooltip-cancel" hover-class="u-tooltip-cancel-hover" @tap="onCancel"> <view class="u-tooltip-item u-tooltip-cancel" hover-class="u-tooltip-cancel-hover" @tap="onCancel">
{{cancelBtn ? '取消' : ''}} {{cancelBtn ? cancelText : ''}}
</view> </view>
<view v-if="showTips" class="u-tooltip-item u-tooltip-tips"> <view v-if="showTips" class="u-tooltip-item u-tooltip-tips">
{{tips ? tips : mode == 'number' ? '数字键盘' : mode == 'card' ? '身份证键盘' : '车牌号键盘'}} {{tips ? tips : mode == 'number' ? '数字键盘' : mode == 'card' ? '身份证键盘' : '车牌号键盘'}}
</view> </view>
<view v-if="confirmBtn" @tap="onConfirm" class="u-tooltip-item u-tooltips-submit" hover-class="u-tooltips-submit-hover"> <view v-if="confirmBtn" @tap="onConfirm" class="u-tooltip-item u-tooltips-submit" hover-class="u-tooltips-submit-hover">
{{confirmBtn ? '完成' : ''}} {{confirmBtn ? confirmText : ''}}
</view> </view>
</view> </view>
<block v-if="mode == 'number' || mode == 'card'"> <block v-if="mode == 'number' || mode == 'card'">
...@@ -34,6 +34,8 @@ ...@@ -34,6 +34,8 @@
* @property {Boolean} cancel-btn 是否显示工具条左边的"取消"按钮(默认true) * @property {Boolean} cancel-btn 是否显示工具条左边的"取消"按钮(默认true)
* @property {Boolean} confirm-btn 是否显示工具条右边的"完成"按钮(默认true) * @property {Boolean} confirm-btn 是否显示工具条右边的"完成"按钮(默认true)
* @property {Boolean} mask 是否显示遮罩(默认true) * @property {Boolean} mask 是否显示遮罩(默认true)
* @property {String} confirm-text 确认按钮的文字
* @property {String} cancel-text 取消按钮的文字
* @property {Number String} z-index 弹出键盘的z-index值(默认1075) * @property {Number String} z-index 弹出键盘的z-index值(默认1075)
* @property {Boolean} random 是否打乱键盘按键的顺序(默认false) * @property {Boolean} random 是否打乱键盘按键的顺序(默认false)
* @property {Boolean} safe-area-inset-bottom 是否开启底部安全区适配(默认false) * @property {Boolean} safe-area-inset-bottom 是否开启底部安全区适配(默认false)
...@@ -111,6 +113,16 @@ ...@@ -111,6 +113,16 @@
zIndex: { zIndex: {
type: [Number, String], type: [Number, String],
default: '' default: ''
},
// 取消按钮的文字
cancelText: {
type: String,
default: '取消'
},
// 确认按钮的文字
confirmText: {
type: String,
default: '确认'
} }
}, },
data() { data() {
......
<template> <template>
<view> <view>
<u-popup :zoom="zoom" <u-popup :zoom="zoom" mode="center" :popup="false" :z-index="uZIndex" v-model="value" :length="width"
mode="center" :popup="false" :mask-close-able="maskCloseAble" :border-radius="borderRadius" @close="popupClose" :negative-top="negativeTop">
:z-index="uZIndex" v-model="value"
:length="width" :mask-close-able="maskCloseAble"
:border-radius="borderRadius"
@close="popupClose"
:negative-top="negativeTop"
>
<view class="u-model"> <view class="u-model">
<view v-if="showTitle" class="u-model-title u-line-1" :style="[titleStyle]">{{ title }}</view> <view v-if="showTitle" class="u-model__title u-line-1" :style="[titleStyle]">{{ title }}</view>
<view class="u-model-content"> <view class="u-model__content">
<view :style="[contentStyle]" v-if="$slots.default"> <view :style="[contentStyle]" v-if="$slots.default">
<slot /> <slot />
</view> </view>
<view v-else class="u-model-content-message" :style="[contentStyle]">{{ content }}</view> <view v-else class="u-model__content__message" :style="[contentStyle]">{{ content }}</view>
</view> </view>
<view class="u-model-footer u-border-top" v-if="showCancelButton || showConfirmButton"> <view class="u-model__footer u-border-top" v-if="showCancelButton || showConfirmButton">
<view <view v-if="showCancelButton" :hover-stay-time="100" hover-class="u-model__btn--hover" class="u-model__footer__button"
v-if="showCancelButton" :style="[cancelBtnStyle]" @tap="cancel">
:hover-stay-time="100"
hover-class="btn-hover"
class="u-model-footer-button"
type="default"
:style="[cancelBtnStyle]"
@tap="cancel"
>
{{cancelText}} {{cancelText}}
</view> </view>
<view <view v-if="showConfirmButton" :hover-stay-time="100" :hover-class="asyncClose ? 'none' : 'u-model__btn--hover'"
v-if="showConfirmButton" class="u-model__footer__button hairline-left" :style="[confirmBtnStyle]" @tap="confirm">
:hover-stay-time="100"
:hover-class="asyncClose ? 'none' : 'btn-hover'"
class="u-model-footer-button hairline-left"
:style="[confirmBtnStyle]"
@tap="confirm"
>
<u-loading mode="circle" :color="confirmColor" v-if="loading"></u-loading> <u-loading mode="circle" :color="confirmColor" v-if="loading"></u-loading>
<block v-else> <block v-else>
{{confirmText}} {{confirmText}}
...@@ -48,248 +29,252 @@ ...@@ -48,248 +29,252 @@
</template> </template>
<script> <script>
/** /**
* modal 模态框 * modal 模态框
* @description 弹出模态框,常用于消息提示、消息确认、在当前页面内完成特定的交互操作 * @description 弹出模态框,常用于消息提示、消息确认、在当前页面内完成特定的交互操作
* @tutorial https://www.uviewui.com/components/modal.html * @tutorial https://www.uviewui.com/components/modal.html
* @property {Boolean} value 是否显示模态框 * @property {Boolean} value 是否显示模态框
* @property {String | Number} z-index 层级 * @property {String | Number} z-index 层级
* @property {String} title 模态框标题(默认"提示") * @property {String} title 模态框标题(默认"提示")
* @property {String | Number} width 模态框宽度(默认600) * @property {String | Number} width 模态框宽度(默认600)
* @property {String} content 模态框内容(默认"内容") * @property {String} content 模态框内容(默认"内容")
* @property {Boolean} show-title 是否显示标题(默认true) * @property {Boolean} show-title 是否显示标题(默认true)
* @property {Boolean} async-close 是否异步关闭,只对确定按钮有效(默认false) * @property {Boolean} async-close 是否异步关闭,只对确定按钮有效(默认false)
* @property {Boolean} show-confirm-button 是否显示确认按钮(默认true) * @property {Boolean} show-confirm-button 是否显示确认按钮(默认true)
* @property {Stringr | Number} negative-top modal往上偏移的值 * @property {Stringr | Number} negative-top modal往上偏移的值
* @property {Boolean} show-cancel-button 是否显示取消按钮(默认false) * @property {Boolean} show-cancel-button 是否显示取消按钮(默认false)
* @property {Boolean} mask-close-able 是否允许点击遮罩关闭modal(默认false) * @property {Boolean} mask-close-able 是否允许点击遮罩关闭modal(默认false)
* @property {String} confirm-text 确认按钮的文字内容(默认"确认") * @property {String} confirm-text 确认按钮的文字内容(默认"确认")
* @property {String} cancel-text 取消按钮的文字内容(默认"取消") * @property {String} cancel-text 取消按钮的文字内容(默认"取消")
* @property {String} cancel-color 取消按钮的颜色(默认"#606266") * @property {String} cancel-color 取消按钮的颜色(默认"#606266")
* @property {String} confirm-color 确认按钮的文字内容(默认"#2979ff") * @property {String} confirm-color 确认按钮的文字内容(默认"#2979ff")
* @property {String | Number} border-radius 模态框圆角值,单位rpx(默认16) * @property {String | Number} border-radius 模态框圆角值,单位rpx(默认16)
* @property {Object} title-style 自定义标题样式,对象形式 * @property {Object} title-style 自定义标题样式,对象形式
* @property {Object} content-style 自定义内容样式,对象形式 * @property {Object} content-style 自定义内容样式,对象形式
* @property {Object} cancel-style 自定义取消按钮样式,对象形式 * @property {Object} cancel-style 自定义取消按钮样式,对象形式
* @property {Object} confirm-style 自定义确认按钮样式,对象形式 * @property {Object} confirm-style 自定义确认按钮样式,对象形式
* @property {Boolean} zoom 是否开启缩放模式(默认true) * @property {Boolean} zoom 是否开启缩放模式(默认true)
* @event {Function} confirm 确认按钮被点击 * @event {Function} confirm 确认按钮被点击
* @event {Function} cancel 取消按钮被点击 * @event {Function} cancel 取消按钮被点击
* @example <u-modal :src="title" :content="content"></u-modal> * @example <u-modal :src="title" :content="content"></u-modal>
*/ */
export default { export default {
name: 'u-modal', name: 'u-modal',
props: { props: {
// 是否显示Modal // 是否显示Modal
value: { value: {
type: Boolean, type: Boolean,
default: false default: false
}, },
// 层级z-index // 层级z-index
zIndex: { zIndex: {
type: [Number, String], type: [Number, String],
default: '' default: ''
}, },
// 标题 // 标题
title: { title: {
type: [String], type: [String],
default: '提示' default: '提示'
}, },
// 弹窗宽度,可以是数值(rpx),百分比,auto等 // 弹窗宽度,可以是数值(rpx),百分比,auto等
width: { width: {
type: [Number, String], type: [Number, String],
default: 600 default: 600
}, },
// 弹窗内容 // 弹窗内容
content: { content: {
type: String, type: String,
default: '内容' default: '内容'
}, },
// 是否显示标题 // 是否显示标题
showTitle: { showTitle: {
type: Boolean, type: Boolean,
default: true default: true
}, },
// 是否显示确认按钮 // 是否显示确认按钮
showConfirmButton: { showConfirmButton: {
type: Boolean, type: Boolean,
default: true default: true
}, },
// 是否显示取消按钮 // 是否显示取消按钮
showCancelButton: { showCancelButton: {
type: Boolean, type: Boolean,
default: false default: false
}, },
// 确认文案 // 确认文案
confirmText: { confirmText: {
type: String, type: String,
default: '确认' default: '确认'
}, },
// 取消文案 // 取消文案
cancelText: { cancelText: {
type: String, type: String,
default: '取消' default: '取消'
}, },
// 确认按钮颜色 // 确认按钮颜色
confirmColor: { confirmColor: {
type: String, type: String,
default: '#2979ff' default: '#2979ff'
}, },
// 取消文字颜色 // 取消文字颜色
cancelColor: { cancelColor: {
type: String, type: String,
default: '#606266' default: '#606266'
}, },
// 圆角值 // 圆角值
borderRadius: { borderRadius: {
type: [Number, String], type: [Number, String],
default: 16 default: 16
}, },
// 标题的样式 // 标题的样式
titleStyle: { titleStyle: {
type: Object, type: Object,
default() { default () {
return {} return {}
}
},
// 内容的样式
contentStyle: {
type: Object,
default () {
return {}
}
},
// 取消按钮的样式
cancelStyle: {
type: Object,
default () {
return {}
}
},
// 确定按钮的样式
confirmStyle: {
type: Object,
default () {
return {}
}
},
// 是否开启缩放效果
zoom: {
type: Boolean,
default: true
},
// 是否异步关闭,只对确定按钮有效
asyncClose: {
type: Boolean,
default: false
},
// 是否允许点击遮罩关闭modal
maskCloseAble: {
type: Boolean,
default: false
},
// 给一个负的margin-top,往上偏移,避免和键盘重合的情况
negativeTop: {
type: [String, Number],
default: 0
} }
}, },
// 内容的样式 data() {
contentStyle: { return {
type: Object, loading: false, // 确认按钮是否正在加载中
default() {
return {}
} }
}, },
// 取消按钮的样式 computed: {
cancelStyle: { cancelBtnStyle() {
type: Object, return Object.assign({
default() { color: this.cancelColor
return {} }, this.cancelStyle);
},
confirmBtnStyle() {
return Object.assign({
color: this.confirmColor
}, this.confirmStyle);
},
uZIndex() {
return this.zIndex ? this.zIndex : this.$u.zIndex.popup;
} }
}, },
// 确定按钮的样式 watch: {
confirmStyle: { // 如果是异步关闭时,外部修改v-model的值为false时,重置内部的loading状态
type: Object, // 避免下次打开的时候,状态混乱
default() { value(n) {
return {} if (n === true) this.loading = false;
} }
}, },
// 是否开启缩放效果 methods: {
zoom: { confirm() {
type: Boolean, // 异步关闭
default: true if (this.asyncClose) {
}, this.loading = true;
// 是否异步关闭,只对确定按钮有效 } else {
asyncClose: { this.$emit('input', false);
type: Boolean, }
default: false this.$emit('confirm');
}, },
// 是否允许点击遮罩关闭modal cancel() {
maskCloseAble: { this.$emit('cancel');
type: Boolean,
default: false
},
// 给一个负的margin-top,往上偏移,避免和键盘重合的情况
negativeTop: {
type: [String, Number],
default: 0
}
},
data() {
return {
loading: false, // 确认按钮是否正在加载中
}
},
computed: {
cancelBtnStyle() {
return Object.assign({color: this.cancelColor}, this.cancelStyle);
},
confirmBtnStyle() {
return Object.assign({color: this.confirmColor}, this.confirmStyle);
},
uZIndex() {
return this.zIndex ? this.zIndex : this.$u.zIndex.popup;
}
},
watch: {
// 如果是异步关闭时,外部修改v-model的值为false时,重置内部的loading状态
// 避免下次打开的时候,状态混乱
value(n) {
if(n === true) this.loading = false;
}
},
methods: {
confirm() {
// 异步关闭
if(this.asyncClose) {
this.loading = true;
} else {
this.$emit('input', false); this.$emit('input', false);
} // 目前popup弹窗关闭有一个延时操作,此处做一个延时
this.$emit('confirm'); // 避免确认按钮文字变成了"确定"字样,modal还没消失,造成视觉不好的效果
}, setTimeout(() => {
cancel() { this.loading = false;
this.$emit('cancel'); }, 300);
this.$emit('input', false); },
// 目前popup弹窗关闭有一个延时操作,此处做一个延时 // 点击遮罩关闭modal,设置v-model的值为false,否则无法第二次弹起modal
// 避免确认按钮文字变成了"确定"字样,modal还没消失,造成视觉不好的效果 popupClose() {
setTimeout(() => { this.$emit('input', false);
},
// 清除加载中的状态
clearLoading() {
this.loading = false; this.loading = false;
}, 300); }
},
// 点击遮罩关闭modal,设置v-model的值为false,否则无法第二次弹起modal
popupClose() {
this.$emit('input', false);
},
// 清除加载中的状态
clearLoading() {
this.loading = false;
} }
} };
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "../../libs/css/style.components.scss"; @import "../../libs/css/style.components.scss";
.btn-hover { .u-model {
background-color: rgb(230, 230, 230); height: auto;
} overflow: hidden;
font-size: 32rpx;
background-color: #fff;
.u-model { &__btn--hover {
height: auto; background-color: rgb(230, 230, 230);
overflow: hidden; }
font-size: 32rpx;
background-color: #fff;
&-title {
padding-top: 48rpx;
font-weight: 500;
text-align: center;
color: $u-main-color;
}
&-content { &__title {
&-message { padding-top: 48rpx;
padding: 48rpx; font-weight: 500;
font-size: 30rpx;
text-align: center; text-align: center;
color: $u-content-color; color: $u-main-color;
} }
}
&-footer { &__content {
display: flex; &__message {
padding: 48rpx;
font-size: 30rpx;
text-align: center;
color: $u-content-color;
}
}
&-button { &__footer {
flex: 1; display: flex;
height: 100rpx;
line-height: 100rpx; &__button {
font-size: 32rpx; flex: 1;
box-sizing: border-box; height: 100rpx;
cursor: pointer; line-height: 100rpx;
text-align: center; font-size: 32rpx;
border-radius: 4rpx; box-sizing: border-box;
cursor: pointer;
text-align: center;
border-radius: 4rpx;
}
} }
} }
}
</style> </style>
<template> <template>
<view class="u-numberbox"> <view class="u-numberbox">
<view class="u-icon-minus" @touchstart.stop="btnTouchStart('minus')" @touchend.stop="clearTimer" :class="{ 'u-icon-disabled': disabled || inputVal <= min }" :style="{ <view class="u-icon-minus" @touchstart.stop="btnTouchStart('minus')" @touchend.stop="clearTimer" :class="{ 'u-icon-disabled': disabled || inputVal <= min }"
:style="{
background: bgColor, background: bgColor,
height: inputHeight + 'rpx', height: inputHeight + 'rpx',
color: color color: color
}"> }">
<u-icon name="minus" :size="size"></u-icon> <u-icon name="minus" :size="size"></u-icon>
</view> </view>
<input :disabled="disabledInput || disabled" :cursor-spacing="getCursorSpacing" :class="{ 'u-input-disabled': disabled }" v-model="inputVal" class="u-number-input" @blur="onBlur" <input :disabled="disabledInput || disabled" :cursor-spacing="getCursorSpacing" :class="{ 'u-input-disabled': disabled }"
type="number" :style="{ v-model="inputVal" class="u-number-input" @blur="onBlur"
type="number" :style="{
color: color, color: color,
fontSize: size + 'rpx', fontSize: size + 'rpx',
background: bgColor, background: bgColor,
height: inputHeight + 'rpx', height: inputHeight + 'rpx',
width: inputWidth + 'rpx' width: inputWidth + 'rpx'
}" /> }" />
<view class="u-icon-plus" @touchstart.stop="btnTouchStart('plus')" @touchend.stop="clearTimer" :class="{ 'u-icon-disabled': disabled || inputVal >= max }" :style="{ <view class="u-icon-plus" @touchstart.stop="btnTouchStart('plus')" @touchend.stop="clearTimer" :class="{ 'u-icon-disabled': disabled || inputVal >= max }"
:style="{
background: bgColor, background: bgColor,
height: inputHeight + 'rpx', height: inputHeight + 'rpx',
color: color color: color
...@@ -37,6 +40,7 @@ ...@@ -37,6 +40,7 @@
* @property {Number} step 步长,每次加或减的值(默认1) * @property {Number} step 步长,每次加或减的值(默认1)
* @property {Boolean} disabled 是否禁用操作,禁用后无法加减或手动修改输入框的值(默认false) * @property {Boolean} disabled 是否禁用操作,禁用后无法加减或手动修改输入框的值(默认false)
* @property {Boolean} disabled-input 是否禁止输入框手动输入值(默认false) * @property {Boolean} disabled-input 是否禁止输入框手动输入值(默认false)
* @property {Boolean} positive-integer 是否只能输入正整数(默认true)
* @property {String | Number} size 输入框文字和按钮字体大小,单位rpx(默认26) * @property {String | Number} size 输入框文字和按钮字体大小,单位rpx(默认26)
* @property {String} color 输入框文字和加减按钮图标的颜色(默认#323233) * @property {String} color 输入框文字和加减按钮图标的颜色(默认#323233)
* @property {String | Number} input-width 输入框宽度,单位rpx(默认80) * @property {String | Number} input-width 输入框宽度,单位rpx(默认80)
...@@ -129,9 +133,21 @@ ...@@ -129,9 +133,21 @@
pressTime: { pressTime: {
type: [Number, String], type: [Number, String],
default: 250 default: 250
},
// 是否只能输入大于或等于0的整数(正整数)
positiveInteger: {
type: Boolean,
default: true
} }
}, },
watch: { watch: {
value(v1, v2) {
// 只有value的改变是来自外部的时候,才去同步inputVal的值,否则会造成循环错误
if(!this.changeFromInner) {
this.inputVal = v1;
}
this.changeFromInner = false;
},
inputVal(v1, v2) { inputVal(v1, v2) {
// 为了让用户能够删除所有输入值,重新输入内容,删除所有值后,内容为空字符串 // 为了让用户能够删除所有输入值,重新输入内容,删除所有值后,内容为空字符串
if (v1 == '') return; if (v1 == '') return;
...@@ -140,14 +156,26 @@ ...@@ -140,14 +156,26 @@
let tmp = this.$u.test.number(v1); let tmp = this.$u.test.number(v1);
if (tmp && v1 >= this.min && v1 <= this.max) value = v1; if (tmp && v1 >= this.min && v1 <= this.max) value = v1;
else value = v2; else value = v2;
// 判断是否只能输入大于等于0的整数
if(this.positiveInteger) {
// 小于0,或者带有小数点,
if(v1 < 0 || String(v1).indexOf('.') !== -1) {
value = v2;
// 双向绑定input的值,必须要使用$nextTick修改显示的值
this.$nextTick(() => {
this.inputVal = v2;
})
}
}
// 发出change事件 // 发出change事件
this.handleChange(value, 'change'); this.handleChange(value, 'change');
} }
}, },
data() { data() {
return { return {
inputVal: 1 , // 输入框中的值,不能直接使用props中的value,因为应该改变props的状态 inputVal: 1, // 输入框中的值,不能直接使用props中的value,因为应该改变props的状态
timer: null, // 用作长按的定时器 timer: null, // 用作长按的定时器
changeFromInner: false, // 值发生变化,是来自内部还是外部
}; };
}, },
created() { created() {
...@@ -165,7 +193,7 @@ ...@@ -165,7 +193,7 @@
// 先执行一遍方法,否则会造成松开手时,就执行了clearTimer,导致无法实现功能 // 先执行一遍方法,否则会造成松开手时,就执行了clearTimer,导致无法实现功能
this[callback](); this[callback]();
// 如果没开启长按功能,直接返回 // 如果没开启长按功能,直接返回
if(!this.longPress) return ; if (!this.longPress) return;
clearInterval(this.timer); //再次清空定时器,防止重复注册定时器 clearInterval(this.timer); //再次清空定时器,防止重复注册定时器
this.timer = null; this.timer = null;
this.timer = setInterval(() => { this.timer = setInterval(() => {
...@@ -256,6 +284,7 @@ ...@@ -256,6 +284,7 @@
handleChange(value, type) { handleChange(value, type) {
if (this.disabled) return; if (this.disabled) return;
// 发出input事件,修改通过v-model绑定的值,达到双向绑定的效果 // 发出input事件,修改通过v-model绑定的值,达到双向绑定的效果
this.changeFromInner = true;
this.$emit('input', Number(value)); this.$emit('input', Number(value));
this.$emit(type, { this.$emit(type, {
// 转为Number类型 // 转为Number类型
......
...@@ -2,7 +2,12 @@ ...@@ -2,7 +2,12 @@
<u-popup :maskCloseAble="maskCloseAble" mode="bottom" :popup="false" v-model="value" length="auto" :safeAreaInsetBottom="safeAreaInsetBottom" @close="close" :z-index="uZIndex"> <u-popup :maskCloseAble="maskCloseAble" mode="bottom" :popup="false" v-model="value" length="auto" :safeAreaInsetBottom="safeAreaInsetBottom" @close="close" :z-index="uZIndex">
<view class="u-datetime-picker"> <view class="u-datetime-picker">
<view class="u-picker-header" @touchmove.stop.prevent=""> <view class="u-picker-header" @touchmove.stop.prevent="">
<view class="u-btn-picker u-btn-picker--tips" :style="{ color: cancelColor }" hover-class="u-opacity" :hover-stay-time="150" @tap="getResult('cancel')">取消</view> <view class="u-btn-picker u-btn-picker--tips"
:style="{ color: cancelColor }"
hover-class="u-opacity"
:hover-stay-time="150"
@tap="getResult('cancel')"
>{{cancelText}}</view>
<view class="u-picker__title">{{ title }}</view> <view class="u-picker__title">{{ title }}</view>
<view <view
class="u-btn-picker u-btn-picker--primary" class="u-btn-picker u-btn-picker--primary"
...@@ -12,7 +17,7 @@ ...@@ -12,7 +17,7 @@
@touchmove.stop="" @touchmove.stop=""
@tap.stop="getResult('confirm')" @tap.stop="getResult('confirm')"
> >
确定 {{confirmText}}
</view> </view>
</view> </view>
<view class="u-picker-body"> <view class="u-picker-body">
...@@ -108,6 +113,8 @@ import areas from '../../libs/util/area.js'; ...@@ -108,6 +113,8 @@ import areas from '../../libs/util/area.js';
* @property {String} cancel-color 取消按钮的颜色(默认#606266) * @property {String} cancel-color 取消按钮的颜色(默认#606266)
* @property {String} confirm-color 确认按钮的颜色(默认#2979ff) * @property {String} confirm-color 确认按钮的颜色(默认#2979ff)
* @property {String} default-time 默认选中的时间,mode=time时有效 * @property {String} default-time 默认选中的时间,mode=time时有效
* @property {String} confirm-text 确认按钮的文字
* @property {String} cancel-text 取消按钮的文字
* @property {String} default-region 默认选中的地区,中文形式,mode=region时有效 * @property {String} default-region 默认选中的地区,中文形式,mode=region时有效
* @property {String} default-code 默认选中的地区,编号形式,mode=region时有效 * @property {String} default-code 默认选中的地区,编号形式,mode=region时有效
* @property {Boolean} mask-close-able 是否允许通过点击遮罩关闭Picker(默认true) * @property {Boolean} mask-close-able 是否允许通过点击遮罩关闭Picker(默认true)
...@@ -231,6 +238,16 @@ export default { ...@@ -231,6 +238,16 @@ export default {
title: { title: {
type: String, type: String,
default: '' default: ''
},
// 取消按钮的文字
cancelText: {
type: String,
default: '取消'
},
// 确认按钮的文字
confirmText: {
type: String,
default: '确认'
} }
}, },
data() { data() {
......
...@@ -33,10 +33,9 @@ ...@@ -33,10 +33,9 @@
<scroll-view class="u-drawer__scroll-view" scroll-y="true" v-else> <scroll-view class="u-drawer__scroll-view" scroll-y="true" v-else>
<slot /> <slot />
</scroll-view> </scroll-view>
<view class="u-close" :class="['u-close--' + closeIconPos]"> <view @tap="close" class="u-close" :class="['u-close--' + closeIconPos]">
<u-icon <u-icon
v-if="mode != 'center' && closeable" v-if="mode != 'center' && closeable"
@click="close"
:name="closeIcon" :name="closeIcon"
:color="closeIconColor" :color="closeIconColor"
:size="closeIconSize" :size="closeIconSize"
...@@ -196,6 +195,7 @@ export default { ...@@ -196,6 +195,7 @@ export default {
visibleSync: false, visibleSync: false,
showDrawer: false, showDrawer: false,
timer: null, timer: null,
closeFromInner: false, // value的值改变,是发生在内部还是外部
}; };
}, },
computed: { computed: {
...@@ -263,9 +263,10 @@ export default { ...@@ -263,9 +263,10 @@ export default {
value(val) { value(val) {
if (val) { if (val) {
this.open(); this.open();
} else { } else if(!this.closeFromInner) {
this.close(); this.close();
} }
this.closeFromInner = false;
} }
}, },
mounted() { mounted() {
...@@ -298,7 +299,12 @@ export default { ...@@ -298,7 +299,12 @@ export default {
// 打开时,先渲染组件,延时一定时间再让遮罩和弹窗的动画起作用 // 打开时,先渲染组件,延时一定时间再让遮罩和弹窗的动画起作用
change(param1, param2, status) { change(param1, param2, status) {
// 如果this.popup为false,意味着为picker,actionsheet等组件调用了popup组件 // 如果this.popup为false,意味着为picker,actionsheet等组件调用了popup组件
if (this.popup == true) this.$emit('input', status); if (this.popup == true) {
// 标记关闭是内部发生的,否则修改了value值,导致watch中对value检测,导致再执行一遍close
// 造成@close事件触发两次
this.closeFromInner = true;
this.$emit('input', status);
}
this[param1] = status; this[param1] = status;
if(status) { if(status) {
// #ifdef H5 || MP // #ifdef H5 || MP
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
'u-section--line': showLine 'u-section--line': showLine
}"> }">
<view class="u-section__title__icon-wrap u-flex" :style="[lineStyle]"> <view class="u-section__title__icon-wrap u-flex" :style="[lineStyle]">
<u-icon name="column-line" :size="fontSize * 1.25" bold :color="lineColor ? lineColor : color"></u-icon> <u-icon top="0" name="column-line" :size="fontSize * 1.25" bold :color="lineColor ? lineColor : color"></u-icon>
</view> </view>
<text class="u-flex u-section__title__text">{{title}}</text> <text class="u-flex u-section__title__text">{{title}}</text>
</view> </view>
...@@ -94,7 +94,7 @@ ...@@ -94,7 +94,7 @@
return { return {
// 由于竖线为字体图标,具有比实际线宽更宽的宽度,所以也需要根据字体打下动态调整 // 由于竖线为字体图标,具有比实际线宽更宽的宽度,所以也需要根据字体打下动态调整
left: -(Number(this.fontSize) * 0.9) + 'rpx', left: -(Number(this.fontSize) * 0.9) + 'rpx',
top: -(Number(this.fontSize) * (this.$u.os == 'ios' ? 0.13 : 0.15)) + 'rpx', top: -(Number(this.fontSize) * (this.$u.os == 'ios' ? 0.14 : 0.15)) + 'rpx',
} }
} }
}, },
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
:hover-stay-time="150" :hover-stay-time="150"
@tap="getResult('cancel')" @tap="getResult('cancel')"
> >
取消 {{cancelText}}
</view> </view>
<view class="u-select__header__title"> <view class="u-select__header__title">
{{title}} {{title}}
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
@touchmove.stop="" @touchmove.stop=""
@tap.stop="getResult('confirm')" @tap.stop="getResult('confirm')"
> >
确定 {{confirmText}}
</view> </view>
</view> </view>
<view class="u-select__body"> <view class="u-select__body">
...@@ -60,6 +60,8 @@ ...@@ -60,6 +60,8 @@
* @property {Boolean} safe-area-inset-bottom 是否开启底部安全区适配(默认false) * @property {Boolean} safe-area-inset-bottom 是否开启底部安全区适配(默认false)
* @property {String} cancel-color 取消按钮的颜色(默认#606266) * @property {String} cancel-color 取消按钮的颜色(默认#606266)
* @property {String} confirm-color 确认按钮的颜色(默认#2979ff) * @property {String} confirm-color 确认按钮的颜色(默认#2979ff)
* @property {String} confirm-text 确认按钮的文字
* @property {String} cancel-text 取消按钮的文字
* @property {String} default-value 提供的默认选中的下标,见官网说明 * @property {String} default-value 提供的默认选中的下标,见官网说明
* @property {Boolean} mask-close-able 是否允许通过点击遮罩关闭Picker(默认true) * @property {Boolean} mask-close-able 是否允许通过点击遮罩关闭Picker(默认true)
* @property {String Number} z-index 弹出时的z-index值(默认10075) * @property {String Number} z-index 弹出时的z-index值(默认10075)
...@@ -144,6 +146,16 @@ export default { ...@@ -144,6 +146,16 @@ export default {
title: { title: {
type: String, type: String,
default: '' default: ''
},
// 取消按钮的文字
cancelText: {
type: String,
default: '取消'
},
// 确认按钮的文字
confirmText: {
type: String,
default: '确认'
} }
}, },
data() { data() {
......
...@@ -18,7 +18,8 @@ ...@@ -18,7 +18,8 @@
<slot v-if="$slots.default"/> <slot v-if="$slots.default"/>
<view v-else class="u-slider__button" :style="[blockStyle, { <view v-else class="u-slider__button" :style="[blockStyle, {
height: blockWidth + 'rpx', height: blockWidth + 'rpx',
width: blockWidth + 'rpx' width: blockWidth + 'rpx',
backgroundColor: blockColor
}]"></view> }]"></view>
</view> </view>
</view> </view>
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
* @property {String Number} z-index 吸顶时的z-index值(默认970) * @property {String Number} z-index 吸顶时的z-index值(默认970)
* @property {String Number} h5-nav-height 导航栏高度,自定义导航栏时(无导航栏时需设置为0),需要传入此值,单位px(默认44) * @property {String Number} h5-nav-height 导航栏高度,自定义导航栏时(无导航栏时需设置为0),需要传入此值,单位px(默认44)
* @event {Function} fixed 组件吸顶时触发 * @event {Function} fixed 组件吸顶时触发
* @event {Function} unfixed 组件取消吸顶时触发
* @example <u-sticky offset-top="200"><view>塞下秋来风景异,衡阳雁去无留意</view></u-sticky> * @example <u-sticky offset-top="200"><view>塞下秋来风景异,衡阳雁去无留意</view></u-sticky>
*/ */
export default { export default {
...@@ -132,8 +133,9 @@ ...@@ -132,8 +133,9 @@
}, },
setFixed(top) { setFixed(top) {
const fixed = top < this.stickyTop; const fixed = top < this.stickyTop;
this.fixed = fixed;
if (fixed) this.$emit('fixed', this.index); if (fixed) this.$emit('fixed', this.index);
else if(this.fixed) this.$emit('unfixed', this.index);
this.fixed = fixed;
}, },
disconnectObserver(observerName) { disconnectObserver(observerName) {
const observer = this[observerName]; const observer = this[observerName];
......
...@@ -14,10 +14,11 @@ ...@@ -14,10 +14,11 @@
<view :class="[ <view :class="[
midButton && item.midButton ? 'u-tabbar__content__circle__button' : 'u-tabbar__content__item__button' midButton && item.midButton ? 'u-tabbar__content__circle__button' : 'u-tabbar__content__item__button'
]"> ]">
<u-icon <u-icon
:size="midButton && item.midButton ? midButtonSize : iconSize" :size="midButton && item.midButton ? midButtonSize : iconSize"
:name="index == value ? item.selectedIconPath : item.iconPath" :name="elIconPath(index)"
:color="index == value ? activeColor : inactiveColor" img-mode="scaleToFill"
:color="elColor(index)"
:custom-prefix="item.customIcon ? 'custom-icon' : 'uicon'" :custom-prefix="item.customIcon ? 'custom-icon' : 'uicon'"
></u-icon> ></u-icon>
<u-badge :count="item.count" :is-dot="item.isDot" <u-badge :count="item.count" :is-dot="item.isDot"
...@@ -26,7 +27,7 @@ ...@@ -26,7 +27,7 @@
></u-badge> ></u-badge>
</view> </view>
<view class="u-tabbar__content__item__text" :style="{ <view class="u-tabbar__content__item__text" :style="{
color: index == value ? activeColor : inactiveColor color: elColor(index)
}"> }">
<text class="u-line-1">{{item.text}}</text> <text class="u-line-1">{{item.text}}</text>
</view> </view>
...@@ -34,7 +35,8 @@ ...@@ -34,7 +35,8 @@
<view v-if="midButton" class="u-tabbar__content__circle__border" :class="{ <view v-if="midButton" class="u-tabbar__content__circle__border" :class="{
'u-border': borderTop, 'u-border': borderTop,
}" :style="{ }" :style="{
backgroundColor: bgColor backgroundColor: bgColor,
left: midButtonLeft
}"> }">
</view> </view>
</view> </view>
...@@ -110,12 +112,64 @@ ...@@ -110,12 +112,64 @@
type: Boolean, type: Boolean,
default: true default: true
}, },
// 是否隐藏原生tabbar
hideTabBar: {
type: Boolean,
default: true
},
}, },
data() { data() {
return { return {
// 由于安卓太菜了,通过css居中凸起按钮的外层元素有误差,故通过js计算将其其中
midButtonLeft: '50%',
pageUrl: '', // 当前
}
},
created() {
// 是否隐藏原生tabbar
if(this.borderTop) uni.hideTabBar();
// 获取引入了u-tabbar页面的路由地址,该地址没有路径前面的"/"
let pages = getCurrentPages();
// 页面栈中的最后一个即为项为当前页面,route属性为页面路径
this.pageUrl = pages[pages.length - 1].route;
},
computed: {
elIconPath() {
return (index) => {
// 历遍u-tabbar的每一项item时,判断是否传入了pagePath参数,如果传入了
// 和data中的pageUrl参数对比,如果相等,即可判断当前的item对应当前的tabbar页面,设置高亮图标
// 采用这个方法,可以无需使用v-model绑定的value值
let pagePath = this.list[index].pagePath;
// 如果定义了pagePath属性,意味着使用系统自带tabbar方案,否则使用一个页面用几个组件模拟tabbar页面的方案
// 这两个方案对处理tabbar item的激活与否方式不一样
if(pagePath) {
if(pagePath == this.pageUrl || pagePath == '/' + this.pageUrl) {
return this.list[index].selectedIconPath;
} else {
return this.list[index].iconPath;
}
} else {
// 普通方案中,索引等于v-model值时,即为激活项
return index == this.value ? this.list[index].selectedIconPath : this.list[index].iconPath
}
}
},
elColor() {
return (index) => {
// 判断方法同理于elIconPath
let pagePath = this.list[index].pagePath;
if(pagePath) {
if(pagePath == this.pageUrl || pagePath == '/' + this.pageUrl) return this.activeColor;
else return this.inactiveColor;
} else {
return index == this.value ? this.activeColor : this.inactiveColor;
}
}
} }
}, },
mounted() {
this.midButton && this.getMidButtonLeft();
},
methods: { methods: {
async clickHandler(index) { async clickHandler(index) {
if(this.beforeSwitch && typeof(this.beforeSwitch) === 'function') { if(this.beforeSwitch && typeof(this.beforeSwitch) === 'function') {
...@@ -141,7 +195,16 @@ ...@@ -141,7 +195,16 @@
switchTab(index) { switchTab(index) {
// 发出事件和修改v-model绑定的值 // 发出事件和修改v-model绑定的值
this.$emit('change', index); this.$emit('change', index);
this.$emit('input', index); // 如果有配置pagePath属性,使用uni.switchTab进行跳转
if(this.list[index].pagePath) {
uni.switchTab({
url: this.list[index].pagePath
})
} else {
// 如果配置了papgePath属性,将不会双向绑定v-model传入的value值
// 因为这个模式下,不再需要v-model绑定的value值了,而是通过getCurrentPages()适配
this.$emit('input', index);
}
}, },
// 计算角标的right值 // 计算角标的right值
getOffsetRight(count, isDot) { getOffsetRight(count, isDot) {
...@@ -153,6 +216,12 @@ ...@@ -153,6 +216,12 @@
} else { } else {
return -30; return -30;
} }
},
// 获取凸起按钮外层元素的left值,让其水平居中
getMidButtonLeft() {
let windowWidth = this.$u.sys.windowWidth;
// 由于安卓中css计算left: 50%的结果不准确,故用js计算
this.midButtonLeft = (windowWidth / 2) + 'px';
} }
} }
} }
...@@ -181,12 +250,14 @@ ...@@ -181,12 +250,14 @@
width: 110rpx; width: 110rpx;
height: 110rpx; height: 110rpx;
top: -48rpx; top: -48rpx;
left: 50%;
transform: translateX(-50%);
position: absolute; position: absolute;
z-index: 4; z-index: 4;
background-color: #ffffff; background-color: #ffffff;
// 由于安卓的无能,导致只有3个tabbar item时,此css计算方式有误差
// 故使用js计算的形式来定位,此处不注释,是因为js计算有延后,避免出现位置闪动
left: 50%;
transform: translateX(-50%);
&:after { &:after {
border-radius: 100px; border-radius: 100px;
} }
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<view :id="id"> <view :id="id">
<scroll-view scroll-x class="u-scroll-view" :scroll-left="scrollLeft" scroll-with-animation> <scroll-view scroll-x class="u-scroll-view" :scroll-left="scrollLeft" scroll-with-animation>
<view class="u-scroll-box" :class="{'u-tabs-scorll-flex': !isScroll}"> <view class="u-scroll-box" :class="{'u-tabs-scorll-flex': !isScroll}">
<view class="u-tab-item" :id="'u-tab-item-' + index" v-for="(item, index) in list" :key="index" @tap="clickTab(index)" <view class="u-tab-item u-line-1" :id="'u-tab-item-' + index" v-for="(item, index) in list" :key="index" @tap="clickTab(index)"
:style="[tabItemStyle(index)]"> :style="[tabItemStyle(index)]">
{{ item[name] || item['name']}} {{ item[name] || item['name']}}
</view> </view>
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
* @property {Object} bar-style 底部滑块的样式,对象形式 * @property {Object} bar-style 底部滑块的样式,对象形式
* @property {Boolean} show-bar 是否显示底部的滑块(默认true) * @property {Boolean} show-bar 是否显示底部的滑块(默认true)
* @property {String Number} bar-height 滑块高度,单位rpx(默认6) * @property {String Number} bar-height 滑块高度,单位rpx(默认6)
* @property {String Number} item-width 标签的宽度(默认auto)
* @property {String Number} gutter 单个tab标签的左右内边距之和,单位rpx(默认40) * @property {String Number} gutter 单个tab标签的左右内边距之和,单位rpx(默认40)
* @property {String} bg-color tabs导航栏的背景颜色(默认#ffffff) * @property {String} bg-color tabs导航栏的背景颜色(默认#ffffff)
* @property {String} name 组件内部读取的list参数中的属性名,见官网说明(默认name) * @property {String} name 组件内部读取的list参数中的属性名,见官网说明(默认name)
...@@ -135,6 +136,11 @@ ...@@ -135,6 +136,11 @@
default() { default() {
return {} return {}
} }
},
// 标签的宽度
itemWidth: {
type: [Number, String],
default: 'auto'
} }
}, },
data() { data() {
...@@ -196,7 +202,8 @@ ...@@ -196,7 +202,8 @@
'font-size': this.fontSize + 'rpx', 'font-size': this.fontSize + 'rpx',
'transition-duration': `${this.duration}s`, 'transition-duration': `${this.duration}s`,
padding: this.isScroll ? `0 ${this.gutter}rpx` : '', padding: this.isScroll ? `0 ${this.gutter}rpx` : '',
flex: this.isScroll ? 'auto' : '1' flex: this.isScroll ? 'auto' : '1',
width: this.$u.addUnit(this.itemWidth)
}; };
// 字体加粗 // 字体加粗
if (index == this.currentIndex && this.bold) style.fontWeight = 'bold'; if (index == this.currentIndex && this.bold) style.fontWeight = 'bold';
......
...@@ -235,7 +235,7 @@ export default { ...@@ -235,7 +235,7 @@ export default {
limitType:{ limitType:{
type: Array, type: Array,
default() { default() {
return ['png', 'jpg', 'jpeg', 'webp']; return ['png', 'jpg', 'jpeg', 'webp', 'gif'];
} }
}, },
}, },
......
/* #ifndef MP-ALIPAY || MP-BAIDU || MP-TOUTIAO || H5 || MP-QQ */ /* #ifndef MP-ALIPAY || MP-BAIDU || MP-TOUTIAO */
@font-face { @font-face {
font-family: "uicon-iconfont"; font-family: "uicon-iconfont";
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
font-display: auto; font-display: auto;
src: url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'); src: url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2');
} }
/* #endif */ /* #endif */
/* 支付宝,百度,头条小程序目前读取大的本地字体文件,导致无法显示图标,故用在线加载的方式-2020-05-12 */
/* 支付宝,百度,头条,QQ小程序,以及H5在部分浏览器目前读取大的本地字体文件,导致无法显示图标,故用在线加载的方式-2020-06-24 */ /* #ifdef MP-ALIPAY || MP-BAIDU || MP-TOUTIAO */
/* #ifdef MP-ALIPAY || MP-BAIDU || MP-TOUTIAO || H5 || MP-QQ */
@font-face { @font-face {
font-family: "uicon-iconfont"; font-family: "uicon-iconfont";
src: url('//at.alicdn.com/t/font_1529455_jv0ekafolib.eot'); src: url('//at.alicdn.com/t/font_1529455_a1l807px8qd');
src: url('//at.alicdn.com/t/font_1529455_jv0ekafolib.eot?#iefix') format('embedded-opentype'), src: url('//at.alicdn.com/t/font_1529455_a1l807px8qd.eot?#iefix') format('embedded-opentype'),
url('//at.alicdn.com/t/font_1529455_jv0ekafolib.woff2') format('woff2'), url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
url('//at.alicdn.com/t/font_1529455_jv0ekafolib.woff') format('woff'), url('//at.alicdn.com/t/font_1529455_a1l807px8qd.woff') format('woff'),
url('//at.alicdn.com/t/font_1529455_jv0ekafolib.ttf') format('truetype'), url('//at.alicdn.com/t/font_1529455_a1l807px8qd') format('truetype'),
url('//at.alicdn.com/t/font_1529455_jv0ekafolib.svg#iconfont') format('svg'); url('//at.alicdn.com/t/font_1529455_a1l807px8qd#iconfont') format('svg')
} }
/* #endif */ /* #endif */
.u-iconfont::before {
display: inline-block;
}
.u-iconfont { .u-iconfont {
position: relative; position: relative;
display: inline-block; display: flex;
font: normal normal normal 14px/1 "uicon-iconfont"; font: normal normal normal 14px/1 "uicon-iconfont";
font-size: inherit; font-size: inherit;
text-rendering: auto; text-rendering: auto;
...@@ -38,104 +33,121 @@ ...@@ -38,104 +33,121 @@
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
.u-iconfont::before {
display: flex;
align-items: center;
}
.uicon-column-line:before { .uicon-column-line:before {
content: "\e68e"; content: "\e68e";
} }
.uicon-empty-page:before { .uicon-level:before {
content: "\e627"; content: "\e693";
} }
.uicon-empty-data:before { .uicon-woman:before {
content: "\e62f"; content: "\e69c";
} }
.uicon-empty-car:before { .uicon-man:before {
content: "\e602"; content: "\e697";
} }
.uicon-empty-order:before { .uicon-arrow-left-double:before {
content: "\e639"; content: "\e68c";
} }
.uicon-empty-address:before { .uicon-arrow-right-double:before {
content: "\e646"; content: "\e68d";
} }
.uicon-empty-message:before { .uicon-youjiantou:before {
content: "\e6a9"; content: "\e602";
} }
.uicon-empty-search:before { .uicon-red-packet:before {
content: "\e664"; content: "\e691";
} }
.uicon-empty-favor:before { .uicon-red-packet-fill:before {
content: "\e67c"; content: "\e690";
} }
.uicon-empty-coupon:before { .uicon-order:before {
content: "\e682"; content: "\e68f";
} }
.uicon-empty-history:before { .uicon-checkbox-mark:before {
content: "\e684"; content: "\e6a8";
} }
.uicon-empty-permission:before { .uicon-arrow-up-fill:before {
content: "\e686"; content: "\e6b0";
} }
.uicon-empty-news:before { .uicon-arrow-down-fill:before {
content: "\e687"; content: "\e600";
}
.uicon-zanwushouhuodizhisvg_huaban:before {
content: "\e6d5";
} }
.uicon-empty-wifi:before { .uicon-empty-wifi:before {
content: "\e688"; content: "\e639";
} }
.uicon-empty-list:before { .uicon-empty-history:before {
content: "\e68b"; content: "\e68b";
} }
.uicon-arrow-left-double:before { .uicon-empty-message:before {
content: "\e68c"; content: "\e687";
} }
.uicon-arrow-right-double:before { .uicon-empty-permission:before {
content: "\e68d"; content: "\e686";
} }
.uicon-red-packet:before { .uicon-empty-search:before {
content: "\e691"; content: "\e627";
} }
.uicon-red-packet-fill:before { .uicon-empty-page:before {
content: "\e690"; content: "\e62f";
} }
.uicon-order:before { .uicon-empty-address:before {
content: "\e68f"; content: "\e646";
} }
.uicon-nav-back-arrow:before { .uicon-empty-favor:before {
content: "\e67f"; content: "\e664";
} }
.uicon-nav-back:before { .uicon-empty-coupon:before {
content: "\e683"; content: "\e6af";
} }
.uicon-checkbox-mark:before { .uicon-empty-data:before {
content: "\e6a8"; content: "\e67c";
} }
.uicon-arrow-up-fill:before { .uicon-mepty-order:before {
content: "\e6b0"; content: "\e7c8";
} }
.uicon-arrow-down-fill:before { .uicon-empty-car:before {
content: "\e600"; content: "\e682";
}
.uicon-empty-list:before {
content: "\e684";
}
.uicon-empty-news:before {
content: "\e6e8";
} }
.uicon-backspace:before { .uicon-backspace:before {
......
// 此版本发布于2020-07-23 // 此版本发布于2020-07-28
let version = '1.5.5'; let version = '1.5.6';
export default { export default {
v: version, v: version,
......
...@@ -14,11 +14,11 @@ class Request { ...@@ -14,11 +14,11 @@ class Request {
let tmpConfig = {}; let tmpConfig = {};
let interceptorReuest = this.interceptor.request(options); let interceptorReuest = this.interceptor.request(options);
if (interceptorReuest === false) { if (interceptorReuest === false) {
return false; // 返回一个处于pending状态中的Promise,来取消原promise
return new Promise(()=>{});
} }
this.options = interceptorReuest; this.options = interceptorReuest;
} }
options.dataType = options.dataType || this.config.dataType; options.dataType = options.dataType || this.config.dataType;
options.responseType = options.responseType || this.config.responseType; options.responseType = options.responseType || this.config.responseType;
options.url = options.url || ''; options.url = options.url || '';
...@@ -91,6 +91,10 @@ class Request { ...@@ -91,6 +91,10 @@ class Request {
}, this.config.loadingTime); }, this.config.loadingTime);
} }
uni.request(options); uni.request(options);
}).catch(res => {
// 如果返回reject(),不让其进入this.$u.post().then().catch()后面的catct()
// 因为很多人都会忘了写后面的catch(),导致报错捕获不到catch
return new Promise(()=>{});
}) })
} }
......
{ {
"name": "uview-ui", "name": "uview-ui",
"version": "1.5.5", "version": "1.5.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