diff --git a/example/pages/button/index.wxml b/example/pages/button/index.wxml
index 495cf2e7..c91445c1 100644
--- a/example/pages/button/index.wxml
+++ b/example/pages/button/index.wxml
@@ -34,5 +34,4 @@
小型按钮
迷你按钮
-
diff --git a/packages/action-sheet/index.ts b/packages/action-sheet/index.ts
index a1acd00f..8d2ea090 100644
--- a/packages/action-sheet/index.ts
+++ b/packages/action-sheet/index.ts
@@ -1,6 +1,9 @@
import { VantComponent } from '../common/component';
+import { iphonex } from '../mixins/iphonex';
VantComponent({
+ mixins: [iphonex],
+
props: {
show: Boolean,
title: String,
@@ -20,10 +23,6 @@ VantComponent({
closeOnClickOverlay: {
type: Boolean,
value: true
- },
- safeAreaInsetBottom: {
- type: Boolean,
- value: true
}
},
diff --git a/packages/button/index.ts b/packages/button/index.ts
index ccc246e9..94b03143 100644
--- a/packages/button/index.ts
+++ b/packages/button/index.ts
@@ -24,21 +24,6 @@ VantComponent({
}
},
- computed: {
- classes(): string {
- const { type, size, block, plain, round, square, loading, disabled } = this.data;
- return this.classNames('van-button', `van-button--${type}`, `van-button--${size}`, {
- 'van-button--block': block,
- 'van-button--round': round,
- 'van-button--plain': plain,
- 'van-button--square': square,
- 'van-button--loading': loading,
- 'van-button--disabled': disabled,
- 'van-button--unclickable': disabled || loading
- });
- }
- },
-
methods: {
onClick() {
if (!this.data.disabled && !this.data.loading) {
diff --git a/packages/button/index.wxml b/packages/button/index.wxml
index 3480f938..63817067 100644
--- a/packages/button/index.wxml
+++ b/packages/button/index.wxml
@@ -1,7 +1,9 @@
+
+
+
@@ -12,7 +14,7 @@
diff --git a/packages/checkbox/index.ts b/packages/checkbox/index.ts
index 397a9097..defb21df 100644
--- a/packages/checkbox/index.ts
+++ b/packages/checkbox/index.ts
@@ -24,18 +24,6 @@ VantComponent({
},
computed: {
- iconClass(): string {
- const { disabled, value, shape } = this.data;
- return this.classNames(
- 'van-checkbox__icon',
- `van-checkbox__icon--${shape}`,
- {
- 'van-checkbox__icon--disabled': disabled,
- 'van-checkbox__icon--checked': value
- }
- );
- },
-
iconStyle(): string {
const { value, disabled, checkedColor } = this.data;
if (checkedColor && value && !disabled) {
diff --git a/packages/checkbox/index.wxml b/packages/checkbox/index.wxml
index ab5637a9..da96d043 100644
--- a/packages/checkbox/index.wxml
+++ b/packages/checkbox/index.wxml
@@ -1,10 +1,12 @@
+
+
+
diff --git a/packages/collapse-item/index.ts b/packages/collapse-item/index.ts
index 85393c6c..af70c961 100644
--- a/packages/collapse-item/index.ts
+++ b/packages/collapse-item/index.ts
@@ -12,11 +12,11 @@ VantComponent({
},
props: {
- name: [String, Number],
+ name: null,
+ title: null,
+ value: null,
icon: String,
label: String,
- title: [String, Number],
- value: [String, Number],
disabled: Boolean,
border: {
type: Boolean,
@@ -33,16 +33,6 @@ VantComponent({
expanded: false
},
- computed: {
- titleClass() {
- const { disabled, expanded } = this.data;
- return this.classNames('van-collapse-item__title', {
- 'van-collapse-item__title--disabled': disabled,
- 'van-collapse-item__title--expanded': expanded
- });
- }
- },
-
methods: {
updateExpanded() {
if (!this.parent) {
diff --git a/packages/collapse-item/index.wxml b/packages/collapse-item/index.wxml
index 6bf5ff10..4f51da13 100644
--- a/packages/collapse-item/index.wxml
+++ b/packages/collapse-item/index.wxml
@@ -1,3 +1,5 @@
+
+
```
+``` javascript
+Page({
+ data: {
+ activeName: ['1']
+ },
+ onChange(event) {
+ this.setData({
+ activeNames: event.detail
+ });
+ }
+});
+```
+
### Collapse API
diff --git a/packages/common/class-names.ts b/packages/common/class-names.ts
deleted file mode 100644
index 5c8e65d0..00000000
--- a/packages/common/class-names.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-const hasOwn = {}.hasOwnProperty;
-
-export function classNames(): string {
- const classes = [];
-
- for (let i = 0; i < arguments.length; i++) {
- const arg = arguments[i];
- if (!arg) continue;
-
- const argType = typeof arg;
-
- if (argType === 'string' || argType === 'number') {
- classes.push(arg);
- } else if (Array.isArray(arg) && arg.length) {
- const inner = classNames.apply(null, arg);
- if (inner) {
- classes.push(inner);
- }
- } else if (argType === 'object') {
- for (const key in arg) {
- if (hasOwn.call(arg, key) && arg[key]) {
- classes.push(key);
- }
- }
- }
- }
-
- return classes.join(' ');
-};
diff --git a/packages/common/utils.wxs b/packages/common/utils.wxs
deleted file mode 100644
index 6435ac9e..00000000
--- a/packages/common/utils.wxs
+++ /dev/null
@@ -1,5 +0,0 @@
-function isSrc(url) {
- return url.indexOf('http') === 0 || url.indexOf('data:image') === 0;
-}
-
-module.exports.isSrc = isSrc;
diff --git a/packages/datetime-picker/README.md b/packages/datetime-picker/README.md
index 2bd6a466..b604be70 100644
--- a/packages/datetime-picker/README.md
+++ b/packages/datetime-picker/README.md
@@ -13,6 +13,8 @@
#### 选择完整时间
+`value` 为时间戳
+
```html
`time` `year-month` | `String` | `datetime` |
+| value | 当前选中值 | `String | Number` | - |
+| type | 类型,可选值为 `date` `time` `year-month`
不建议动态修改 | `String` | `datetime` |
| min-date | 可选的最小时间,精确到分钟 | `Number` | 十年前 |
| max-date | 可选的最大时间,精确到分钟 | `Number` | 十年后 |
| min-hour | 可选的最小小时,针对 time 类型 | `Number` | `0` |
diff --git a/packages/dialog/index.ts b/packages/dialog/index.ts
index 948097fa..fec7b977 100644
--- a/packages/dialog/index.ts
+++ b/packages/dialog/index.ts
@@ -95,7 +95,9 @@ VantComponent({
this.close();
}
this.$emit('close', action);
- this.$emit(action);
+
+ //把 dialog 实例传递出去,可以通过 stopLoading() 在外部关闭按钮的 loading
+ this.$emit(action, { dialog: this });
const callback = this.data[action === 'confirm' ? 'onConfirm' : 'onCancel'];
if (callback) {
diff --git a/packages/field/README.md b/packages/field/README.md
index 3d88f08e..12d88dba 100644
--- a/packages/field/README.md
+++ b/packages/field/README.md
@@ -164,6 +164,7 @@ Page({
| adjust-position | 键盘弹起时,是否自动上推页面 | `Boolean` | `true` |
| use-icon-slot | 是否使用 icon slot | `Boolean` | `false` |
| use-button-slot | 是否使用 button slot | `Boolean` | `false` |
+| show-confirm-bar | 是否显示键盘上方带有”完成“按钮那一栏,只对 textarea 有效 | `Boolean` | `true` |
### Event
diff --git a/packages/field/index.less b/packages/field/index.less
index 5c225f81..2bb7876c 100644
--- a/packages/field/index.less
+++ b/packages/field/index.less
@@ -37,6 +37,10 @@
&--right {
text-align: right;
}
+
+ &--error {
+ color: @red;
+ }
}
&__clear-root {
@@ -78,8 +82,4 @@
font-size: 12px;
text-align: left;
}
-
- &--error {
- color: @red;
- }
}
diff --git a/packages/field/index.ts b/packages/field/index.ts
index 1e3c2291..f25bad44 100644
--- a/packages/field/index.ts
+++ b/packages/field/index.ts
@@ -29,6 +29,10 @@ VantComponent({
customStyle: String,
useIconSlot: Boolean,
useButtonSlot: Boolean,
+ showConfirmBar: {
+ type: Boolean,
+ value: true
+ },
placeholderStyle: String,
adjustPosition: {
type: Boolean,
@@ -60,18 +64,6 @@ VantComponent({
showClear: false
},
- computed: {
- inputClass(): string {
- const { data } = this;
- return this.classNames('input-class', 'van-field__input', {
- 'van-field--error': data.error,
- 'van-field__textarea': data.type === 'textarea',
- 'van-field__input--disabled': data.disabled,
- [`van-field__input--${data.inputAlign}`]: data.inputAlign
- });
- }
- },
-
beforeCreate() {
this.focused = false;
},
diff --git a/packages/field/index.wxml b/packages/field/index.wxml
index 61cd6985..e1205906 100644
--- a/packages/field/index.wxml
+++ b/packages/field/index.wxml
@@ -1,3 +1,5 @@
+
+
+
+
+
diff --git a/packages/icon/index.wxml b/packages/icon/index.wxml
index aefcdebf..156ab17f 100644
--- a/packages/icon/index.wxml
+++ b/packages/icon/index.wxml
@@ -1,3 +1,5 @@
+
+
-
-
diff --git a/packages/mixins/basic.ts b/packages/mixins/basic.ts
index 9d6f5b21..7de3fbfa 100644
--- a/packages/mixins/basic.ts
+++ b/packages/mixins/basic.ts
@@ -1,24 +1,5 @@
-import { classNames } from '../common/class-names';
-
export const basic = Behavior({
- created() {
- wx.getSystemInfo({
- success: ({ model, screenHeight }) => {
- const isIphoneX = /iphone x/i.test(model);
- const isIphoneNew = /iPhone11/i.test(model) && screenHeight === 812;
-
- if (isIphoneX || isIphoneNew) {
- this.set({
- isIPhoneX: true
- });
- }
- }
- });
- },
-
methods: {
- classNames,
-
$emit() {
this.triggerEvent.apply(this, arguments);
},
diff --git a/packages/mixins/iphonex.ts b/packages/mixins/iphonex.ts
new file mode 100644
index 00000000..4a23ed7d
--- /dev/null
+++ b/packages/mixins/iphonex.ts
@@ -0,0 +1,34 @@
+let isIPhoneX = null;
+
+function getIsIPhoneX() {
+ return new Promise((resolve, reject) => {
+ if (isIPhoneX !== null) {
+ resolve(isIPhoneX);
+ } else {
+ wx.getSystemInfo({
+ success: ({ model, screenHeight }) => {
+ const iphoneX = /iphone x/i.test(model);
+ const iphoneNew = /iPhone11/i.test(model) && screenHeight === 812;
+ isIPhoneX = iphoneX || iphoneNew;
+ resolve(isIPhoneX);
+ },
+ fail: reject
+ });
+ }
+ });
+}
+
+export const iphonex = Behavior({
+ properties: {
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true
+ }
+ },
+
+ created() {
+ getIsIPhoneX().then(isIPhoneX => {
+ this.set({ isIPhoneX });
+ });
+ }
+});
diff --git a/packages/popup/index.ts b/packages/popup/index.ts
index d100fe0b..8688a149 100644
--- a/packages/popup/index.ts
+++ b/packages/popup/index.ts
@@ -1,8 +1,9 @@
import { VantComponent } from '../common/component';
import { transition } from '../mixins/transition';
+import { iphonex } from '../mixins/iphonex';
VantComponent({
- mixins: [transition(false)],
+ mixins: [transition(false), iphonex],
props: {
transition: String,
@@ -23,20 +24,6 @@ VantComponent({
position: {
type: String,
value: 'center'
- },
- safeAreaInsetBottom: {
- type: Boolean,
- value: true
- }
- },
-
- computed: {
- popupClass() {
- const { position, safeAreaInsetBottom, isIPhoneX } = this.data;
- return this.classNames('custom-class', 'van-popup', {
- [`van-popup--${position}`]: position,
- [`van-popup--safe`]: isIPhoneX && safeAreaInsetBottom && position === 'bottom'
- });
}
},
diff --git a/packages/popup/index.wxml b/packages/popup/index.wxml
index 07bd1ae1..bafbfecb 100644
--- a/packages/popup/index.wxml
+++ b/packages/popup/index.wxml
@@ -1,3 +1,5 @@
+
+