@@ -74,11 +53,10 @@ export default {
| 参数 | 说明 | 类型 | 默认值 | 可选值 |
|-----------|-----------|-----------|-------------|-------------|
-| thumb | 左侧图片 | `string` | | |
-| title | 标题 | `string` | | |
-| desc | 描述 | `string` | | |
-| centered | 内容是否垂直居中 | `string` | `false` | |
-
+| thumb | 左侧图片 | `String` | - | - |
+| title | 标题 | `String` | - | - |
+| desc | 描述 | `String` | - | - |
+| centered | 内容是否垂直居中 | `String` | `false` | - |
### Slot
@@ -86,6 +64,6 @@ export default {
|-----------|-----------|
| title | 自定义标题 |
| desc | 自定义描述 |
-| tags | 自定义tags |
-| thumb | 自定义thumb |
-| footer | 自定义footer |
+| tags | 自定义 tags |
+| thumb | 自定义 thumb |
+| footer | 自定义 footer |
diff --git a/docs/examples-docs/cell-swipe.md b/docs/examples-docs/cell-swipe.md
index beafe0aa2..a16494da7 100644
--- a/docs/examples-docs/cell-swipe.md
+++ b/docs/examples-docs/cell-swipe.md
@@ -1,6 +1,6 @@
## CellSwipe 滑动单元格
### 使用指南
-
-如果你已经按照快速上手中引入了整个`vant`,以下**组件注册**就可以忽略了,因为你已经全局注册了`vant`中的全部组件。
-
-#### 全局注册
-
-你可以在全局注册`Cell Swipe`组件,比如页面的主文件(`index.js`,`main.js`),这样页面任何地方都可以直接使用`Cell Swipe`组件了:
-
-```js
-import Vue from 'vue';
+``` javascript
import { CellSwipe } from 'vant';
-import 'vant/lib/vant-css/cell-swipe.css';
Vue.component(CellSwipe.name, CellSwipe);
```
-#### 局部注册
-
-如果你只是想在某个组件中使用,你可以在对应组件中注册`Cell Swipe`组件,这样只能在你注册的组件中使用`Cell Swipe`:
-
-```js
-import { CellSwipe } from 'vant';
-
-export default {
- components: {
- 'van-cell-swipe': CellSwipe
- }
-};
-```
-
### 代码演示
#### 基础用法
@@ -59,32 +32,26 @@ export default {
:::demo 基础用法
```html
+ 选择
-
-
- 删除
-
-
- 选择
-
+ 删除
```
:::
-
### API
| 参数 | 说明 | 类型 | 默认值 | 可选值 |
|-----------|-----------|-----------|-------------|-------------|
-| right-width | 右侧滑动按钮宽度 | `number` | 0 | |
-| left-width | 左侧滑动按钮宽度 | `number` | 0 | |
+| left-width | 左侧滑动区域宽度 | `Number` | `0` | - |
+| right-width | 右侧滑动区域宽度 | `Number` | `0` | - |
### Slot
| name | 描述 |
|-----------|-----------|
| - | 自定义显示内容 |
-| right | 右侧滑动内容 |
| left | 左侧滑动内容 |
+| right | 右侧滑动内容 |
diff --git a/docs/examples-docs/cell.md b/docs/examples-docs/cell.md
index b9d9beed0..bbad3c505 100644
--- a/docs/examples-docs/cell.md
+++ b/docs/examples-docs/cell.md
@@ -8,125 +8,95 @@ export default {
};
+
+
## Cell 单元格
### 使用指南
-
-如果你已经按照快速上手中引入了整个`vant`,以下**组件注册**就可以忽略了,因为你已经全局注册了`vant`中的全部组件。
-
-#### 全局注册
-
-你可以在全局注册`Cell`组件,比如页面的主文件(`index.js`,`main.js`),这样页面任何地方都可以直接使用`Cell`组件了:
-
-```js
-import Vue from 'vue';
+``` javascript
import { Cell, CellGroup } from 'vant';
-import 'vant/lib/vant-css/cell.css';
-Vue.component(CellGroup.name, CellGroup);
Vue.component(Cell.name, Cell);
-```
-
-#### 局部注册
-
-如果你只是想在某个组件中使用,你可以在对应组件中注册`Cell`组件,这样只能在你注册的组件中使用`Cell`:
-
-```js
-import { Cell } from 'vant';
-import 'vant/lib/vant-css/cell.css';
-
-export default {
- components: {
- 'van-cell-group': CellGroup,
- 'van-cell': Cell
- }
-};
+Vue.component(CellGroup.name, CellGroup);
```
### 代码演示
#### 基础用法
-你可以将`van-cell-group`组件看成一个容器即可。
+将`van-cell-group`组件看成一个容器即可
:::demo 基础用法
```html
-
+
```
:::
#### 只设置value
-
-只设置`value`时会向左对齐。
+只设置`value`时会向左对齐
:::demo 只设置value
```html
-
-
+
```
:::
-#### 标题带描述信息
-
-传入`label`属性,属性值为描述信息的值。
-
-:::demo 标题带描述信息
+#### 展示图标
+通过`icon`属性在标题左侧展示图标
+:::demo 展示图标
```html
-
-
+
```
:::
-#### 带图标
+#### 展示箭头
+传入`isLink`属性则会在右侧显示箭头
-传入`icon`属性。
-
-:::demo 带图标
+:::demo 展示箭头
```html
-
-
-
-```
-:::
-
-#### 可点击的链接
-
-传入`url`属性,传入`isLink`属性则会在右侧显示箭头。
-
-:::demo 可点击的链接
-```html
-
-
-
+
+
```
:::
#### 高级用法
-
-如以上用法不能满足你的需求,可以使用对应的`slot`来自定义显示的内容。包含三个`slot`,默认`slot`、`icon`、`title`和`right-icon`的`slot`。
+如以上用法不能满足你的需求,可以使用对应的`slot`来自定义显示的内容
:::demo 高级用法
```html
-
+
起码运动馆
官方
-
+
-
+
@@ -137,12 +107,13 @@ export default {
| 参数 | 说明 | 类型 | 默认值 | 可选值 |
|-----------|-----------|-----------|-------------|-------------|
-| icon | 左侧图标 | `string` | | |
-| title | 左侧标题 | `string` | | |
-| value | 右侧内容 | `string` | | |
-| isLink | 是否为链接,链接会在右侧出现箭头 | `boolean` | | |
-| url | 跳转链接 | `string` | | |
-| label | 描述信息,显示在标题下方 | `string` | | |
+| icon | 左侧图标 | `String` | - | - |
+| title | 左侧标题 | `String` | - | - |
+| value | 右侧内容 | `String` | - | - |
+| label | 标题下方的描述信息 | `String` | - | - |
+| url | 跳转链接 | `String` | - | - |
+| isLink | 是否展示右侧箭头 | `Boolean` | `false` | - |
+| required | 是否显示表单必填符号 | `Boolean` | `false` | - |
### Slot
diff --git a/docs/examples-docs/changelog.md b/docs/examples-docs/changelog.md
index ac512409c..de6ed92ed 100644
--- a/docs/examples-docs/changelog.md
+++ b/docs/examples-docs/changelog.md
@@ -1,5 +1,101 @@
## 更新日志
+## [v0.8.6](https://github.com/youzan/vant/tree/v0.8.6) (2017-08-24)
+[Full Changelog](https://github.com/youzan/vant/compare/v0.8.5...v0.8.6)
+
+**非兼容更新和新特性:**
+
+- dalete merge && class operating methods [\#88](https://github.com/youzan/vant/pull/88) ([chenjiahan](https://github.com/chenjiahan))
+- directory adjust: delete entry index.js [\#87](https://github.com/youzan/vant/pull/87) ([chenjiahan](https://github.com/chenjiahan))
+- Button: reduce unnecessary styles [\#86](https://github.com/youzan/vant/pull/86) ([chenjiahan](https://github.com/chenjiahan))
+- Layout: optimize doc [\#85](https://github.com/youzan/vant/pull/85) ([chenjiahan](https://github.com/chenjiahan))
+
+**修复:**
+
+- Fix datetime-picker init value [\#89](https://github.com/youzan/vant/pull/89) ([w91](https://github.com/w91))
+
+**处理的 Issue:**
+
+- When 'showIndicators' set to 'false' The second image does not show [\#80](https://github.com/youzan/vant/issues/80)
+
+## [v0.8.5](https://github.com/youzan/vant/tree/v0.8.5) (2017-08-21)
+[Full Changelog](https://github.com/youzan/vant/compare/v0.8.4...v0.8.5)
+
+**非兼容更新和新特性:**
+
+- Doc: add usage guide && top progress [\#83](https://github.com/youzan/vant/pull/83) ([chenjiahan](https://github.com/chenjiahan))
+
+**修复:**
+
+- Popup: not preventScroll by default [\#84](https://github.com/youzan/vant/pull/84) ([chenjiahan](https://github.com/chenjiahan))
+- fix: swipe sometimes will change to drag image [\#81](https://github.com/youzan/vant/pull/81) ([pangxie1991](https://github.com/pangxie1991))
+
+**处理的 Issue:**
+
+- Href link does not work [\#82](https://github.com/youzan/vant/issues/82)
+- Swipe image not displayed [\#79](https://github.com/youzan/vant/issues/79)
+
+## [v0.8.4](https://github.com/youzan/vant/tree/v0.8.4) (2017-08-18)
+[Full Changelog](https://github.com/youzan/vant/compare/v0.8.3...v0.8.4)
+
+**修复:**
+
+- fix: field 计算autosize,需要nextTick [\#78](https://github.com/youzan/vant/pull/78) ([pangxie1991](https://github.com/pangxie1991))
+
+## [v0.8.3](https://github.com/youzan/vant/tree/v0.8.3) (2017-08-18)
+[Full Changelog](https://github.com/youzan/vant/compare/v0.8.1...v0.8.3)
+
+**修复:**
+
+- fix: dialog wrong z-index [\#77](https://github.com/youzan/vant/pull/77) ([chenjiahan](https://github.com/chenjiahan))
+
+## [v0.8.1](https://github.com/youzan/vant/tree/v0.8.1) (2017-08-18)
+[Full Changelog](https://github.com/youzan/vant/compare/v0.8.0...v0.8.1)
+
+**非兼容更新和新特性:**
+
+- field 增加icon slot支持 [\#76](https://github.com/youzan/vant/pull/76) ([pangxie1991](https://github.com/pangxie1991))
+
+## [v0.8.0](https://github.com/youzan/vant/tree/v0.8.0) (2017-08-17)
+[Full Changelog](https://github.com/youzan/vant/compare/v0.7.10...v0.8.0)
+
+**非兼容更新和新特性:**
+
+- Optimize component building, reduce dist file size [\#74](https://github.com/youzan/vant/pull/74) ([chenjiahan](https://github.com/chenjiahan))
+
+## [v0.7.10](https://github.com/youzan/vant/tree/v0.7.10) (2017-08-16)
+[Full Changelog](https://github.com/youzan/vant/compare/v0.7.8...v0.7.10)
+
+**修复:**
+
+- fix: 修复popup和dialog同时出现时,几率出现dialog被挡住的情况 [\#75](https://github.com/youzan/vant/pull/75) ([pangxie1991](https://github.com/pangxie1991))
+- 修复:popup滚动穿透 [\#73](https://github.com/youzan/vant/pull/73) ([cookfront](https://github.com/cookfront))
+
+## [v0.7.8](https://github.com/youzan/vant/tree/v0.7.8) (2017-08-10)
+[Full Changelog](https://github.com/youzan/vant/compare/v0.7.7...v0.7.8)
+
+**非兼容更新和新特性:**
+
+- 补充 babel-plugin-import 文档 [\#71](https://github.com/youzan/vant/pull/71) ([chenjiahan](https://github.com/chenjiahan))
+
+**修复:**
+
+- not require reset.css by default [\#72](https://github.com/youzan/vant/pull/72) ([chenjiahan](https://github.com/chenjiahan))
+
+## [v0.7.7](https://github.com/youzan/vant/tree/v0.7.7) (2017-08-09)
+[Full Changelog](https://github.com/youzan/vant/compare/v0.7.6...v0.7.7)
+
+**修复:**
+
+- Fixed: one page Swipe components error [\#70](https://github.com/youzan/vant/pull/70) ([Raistlin916](https://github.com/Raistlin916))
+
+## [v0.7.6](https://github.com/youzan/vant/tree/v0.7.6) (2017-08-08)
+[Full Changelog](https://github.com/youzan/vant/compare/v0.7.5...v0.7.6)
+
+**非兼容更新和新特性:**
+
+- 新增几个icon [\#69](https://github.com/youzan/vant/pull/69) ([cookfront](https://github.com/cookfront))
+
## [v0.7.5](https://github.com/youzan/vant/tree/v0.7.5) (2017-08-08)
[Full Changelog](https://github.com/youzan/vant/compare/v0.7.3...v0.7.5)
diff --git a/docs/examples-docs/checkbox.md b/docs/examples-docs/checkbox.md
index a45ecf16d..fdfcba1d7 100644
--- a/docs/examples-docs/checkbox.md
+++ b/docs/examples-docs/checkbox.md
@@ -36,36 +36,10 @@ export default {
## Checkbox 复选框
### 使用指南
-
-如果你已经按照快速上手中引入了整个`vant`,以下**组件注册**就可以忽略了,因为你已经全局注册了`vant`中的全部组件。
-
-#### 全局注册
-
-你可以在全局注册`Checkbox`组件,比如页面的主文件(`index.js`,`main.js`),这样页面任何地方都可以直接使用`Checkbox`组件了:
-
-```js
-import Vue from 'vue';
-import { Checkbox, CheckboxGroup } from 'vant';
-import 'vant/lib/vant-css/checkbox.css';
+``` javascript
+import { Checkbox } from 'vant';
Vue.component(Checkbox.name, Checkbox);
-Vue.component(CheckboxGroup.name, CheckboxGroup);
-```
-
-#### 局部注册
-
-如果你只是想在某个组件中使用,你可以在对应组件中注册`Checkbox`组件,这样只能在你注册的组件中使用`Checkbox`:
-
-```js
-import { Checkbox, CheckboxGroup } from 'vant';
-import 'vant/lib/vant-css/checkbox.css';
-
-export default {
- components: {
- 'van-checkbox': Checkbox,
- 'van-checkbox-group': CheckboxGroup
- }
-};
```
### 代码演示
diff --git a/docs/examples-docs/datetime-picker.md b/docs/examples-docs/datetime-picker.md
index e3d33c552..dd4973ea6 100644
--- a/docs/examples-docs/datetime-picker.md
+++ b/docs/examples-docs/datetime-picker.md
@@ -5,15 +5,16 @@ export default {
minHour: 10,
maxHour: 20,
minDate: new Date(),
- currentDate1: null,
+ maxDate: new Date(2019, 10, 1),
+ currentDate1: new Date(2018, 0, 1),
currentDate2: null,
currentDate3: null
};
},
methods: {
- handlePickerChange(picker, values) {
- console.log(values);
+ handlePickerChange(picker) {
+ console.log(picker);
},
handlePickerCancel() {
console.log('picker cancel');
@@ -25,38 +26,15 @@ export default {
};
-## Datetime Picker 时间选择
+## DatetimePicker 时间选择
### 使用指南
-
-如果你已经按照快速上手中引入了整个`vant`,以下**组件注册**就可以忽略了,因为你已经全局注册了`vant`中的全部组件。
-
-#### 全局注册
-
-你可以在全局注册`Radio`组件,比如页面的主文件(`index.js`,`main.js`),这样页面任何地方都可以直接使用`Radio`组件了:
-
-```js
-import Vue from 'vue';
+``` javascript
import { DatetimePicker } from 'vant';
Vue.component(DatetimePicker.name, DatetimePicker);
```
-#### 局部注册
-
-如果你只是想在某个组件中使用,你可以在对应组件中注册`DatetimePicker`组件,这样只能在你注册的组件中使用`DatetimePicker`:
-
-```js
-import { DatetimePicker } from 'vant';
-
-export default {
- components: {
- 'van-datetime-picker': DatetimePicker
- }
-};
-```
-
-
### 代码演示
#### 基础用法
@@ -66,10 +44,10 @@ export default {
@@ -80,13 +58,14 @@ export default {
minHour: 10,
maxHour: 20,
minDate: new Date(),
- currentDate: null
+ maxDate: new Date(2019, 10, 1),
+ currentDate: new Date(2018, 0, 1)
};
},
methods: {
- handlePickerChange(picker, values) {
- picker.setColumnValues(1, citys[values[0]]);
+ handlePickerChange(picker) {
+ console.log(picker);
}
}
};
@@ -101,7 +80,6 @@ export default {
+
+export default {
+ data() {
+ return {
+ items: [{
+ text: '所有城市',
+ children: [{
+ text: '杭州',
+ id: 1001
+ }, {
+ text: '温州',
+ id: 1002
+ }, {
+ text: '海南',
+ id: 1100
+ }, {
+ text: '宁波',
+ id: 1003
+ }, {
+ text: '义乌',
+ id: 1004
+ }, {
+ text: '无锡',
+ id: 1011
+ }, {
+ text: '常州',
+ id: 1012
+ }, {
+ text: '大连',
+ id: 1031
+ }, {
+ text: '诸暨',
+ id: 1005
+ }]
+ }, {
+ text: '浙江',
+ children: [{
+ text: '杭州',
+ id: 1001
+ }, {
+ text: '温州',
+ id: 1002
+ }, {
+ text: '宁波',
+ id: 1003
+ }, {
+ text: '义乌',
+ id: 1004
+ }]
+ }, {
+ text: '江苏',
+ children: [{
+ text: '无锡',
+ id: 1011
+ }, {
+ text: '常州',
+ id: 1012
+ }]
+ }],
+ mainActiveIndex: 0,
+ activeId: 1001
+ };
+ },
+ methods: {
+ onNavClick(index) {
+ this.mainActiveIndex = index;
+ },
+ onItemClick(data) {
+ console.log(data);
+ this.activeId = data.id;
+ }
+ }
+}
+
+
+## DeepSelect 分类选择组件
+
+### 使用指南
+``` javascript
+import { DeepSelect } from 'vant';
+
+Vue.component(DeepSelect.name, DeepSelect);
+```
+
+### 代码演示
+
+#### 基础用法
+
+:::demo 基础用法
+```html
+
+```
+
+```javascript
+export default {
+ data() {
+ return {
+ items: items,
+ // 左侧高亮元素的index
+ mainActiveIndex: 0,
+ // 被选中元素的id
+ activeId: 1001
+ };
+ },
+ methods: {
+ onNavClick(index) {
+ this.mainActiveIndex = index;
+ },
+ onItemClick(data) {
+ console.log(data);
+ this.activeId = data.id;
+ }
+ }
+}
+
+```
+:::
+
+### API
+
+#### 传入参数
+
+| 参数 | 说明 | 类型 | 默认值 | 必须 |
+|-----------|-----------|-----------|-------------|-------------|
+| items | 分类显示所需的数据,具体数据结构可看 数据结构 | Array | [] | |
+| mainActiveIndex | 左侧导航高亮的索引 | Number | 0 | |
+| activeId | 右侧选择项,高亮的数据id | Number | 0 | |
+
+#### 事件
+| 事件名 | 说明 | 参数 |
+|-----------|-----------|-----------|
+| navclick | 左侧导航点击时,触发的事件 | index:被点击的导航的索引 |
+| itemclick | 右侧选择项被点击时,会触发的事件 | data: 该点击项的数据 |
+
+### 数据格式
+#### items 分类显示所需数据的数据结构
+`items` 整体为一个数组,数组内包含一系列描述分类的 object。
+
+每个分类里,text表示当前分类的名称。children 表示分类里的可选项,为数组结构,id被用来唯一标识每个选项
+```javascript
+[
+ {
+ // 导航名称
+ text: '所有城市',
+ // 该导航下所有的可选项
+ children: [
+ {
+ // 可选项的名称
+ text: '温州',
+ // 可选项的id,高亮的时候是根据id是否和选中的id是否相同进行判断的
+ id: 1002
+ },
+ {
+ // 可选项的名称
+ text: '杭州',
+ // 可选项的id,高亮的时候是根据id是否和选中的id是否相同进行判断的
+ id: 1001
+ }
+ ]
+ }
+]
+```
diff --git a/docs/examples-docs/dialog.md b/docs/examples-docs/dialog.md
index 1faa20519..cb71eacc0 100644
--- a/docs/examples-docs/dialog.md
+++ b/docs/examples-docs/dialog.md
@@ -7,38 +7,31 @@
+
+### 使用指南
+``` javascript
+import { ExpressWay } from 'vant';
+
+Vue.component(ExpressWay.name, ExpressWay);
+```
+
+### 代码演示
+
+#### 基础用法
+
+:::demo 基础用法
+```html
+
+
+
+
+
+
+
+```
+:::
+
+#### 不可修改配送方式
+
+:::demo 不可修改配送方式
+```html
+
+
+
+```
+:::
+
+### API
+
+| 参数 | 说明 | 类型 | 默认值 | 必须 |
+|-----------|-----------|-----------|-------------|-------------|
+| v-model | 当前选择的配送类型 | `Number` | | 是 |
+| expressList | 配送方式列表数据 | `Array` | | 是 |
+| cellTitle | Cell 标题 | `String` | `配送方式` | 否 |
+| actionsheetTitle | Actionsheet 标题 | `String` | `配送方式` | 否 |
+| editable | 能否修改配送方式 | `Boolean` | `true` | 否 |
+
+
+### 数据格式
+#### expressList中的配送方式字段说明
+| key | 说明 | 类型 |
+|-----------|-----------|-----------|
+| postage | 运费,以分为单位 | Number |
+| postage_title | 配送方式 | String |
+| postage_desc | 描述信息 | String |
+| express_type | 配送类型 | Number |
+| postage_warn_desc | 提示信息 | String |
+
+### Event
+
+| 事件名 | 说明 | 参数 |
+|-----------|-----------|-----------|
+| change | 修改配送方式时触发 | item: 对应的数据, index:对应的索引 |
diff --git a/docs/examples-docs/field.md b/docs/examples-docs/field.md
index a48bb9618..97a24a36a 100644
--- a/docs/examples-docs/field.md
+++ b/docs/examples-docs/field.md
@@ -30,36 +30,12 @@ export default {
表单中`input`或`textarea`的输入框。
### 使用指南
-
-如果你已经按照快速上手中引入了整个`vant`,以下**组件注册**就可以忽略了,因为你已经全局注册了`vant`中的全部组件。
-
-#### 全局注册
-
-你可以在全局注册`Field`组件,比如页面的主文件(`index.js`,`main.js`),这样页面任何地方都可以直接使用`Field`组件了:
-
-```js
-import Vue from 'vue';
+``` javascript
import { Field } from 'vant';
-import 'vant/lib/vant-css/field.css';
Vue.component(Field.name, Field);
```
-#### 局部注册
-
-如果你只是想在某个组件中使用,你可以在对应组件中注册`Field`组件,这样只能在你注册的组件中使用`Field`:
-
-```js
-import { Field } from 'vant';
-import 'vant/lib/vant-css/field.css';
-
-export default {
- components: {
- 'van-field': Field
- }
-};
-```
-
### 代码演示
#### 基础用法
@@ -78,7 +54,15 @@ export default {
:on-icon-click="onIconClick"
@blur="onFieldBlur"
required>
-
+
+
+
+
+
```
@@ -163,3 +147,9 @@ export default {
| icon | 输入框尾部图标 | `string` | | icon中支持的类型 |
| onIconClick | 点击图标的回调函数 | `function` | | |
+### Slot
+
+| name | 描述 |
+|-----------|-----------|
+| icon | 自定义icon |
+
diff --git a/docs/examples-docs/goods-action.md b/docs/examples-docs/goods-action.md
new file mode 100644
index 000000000..328a48951
--- /dev/null
+++ b/docs/examples-docs/goods-action.md
@@ -0,0 +1,88 @@
+
+
+
+
+## GoodsAction 商品操作组件
+
+### 使用指南
+``` javascript
+import {
+ GoodsAction,
+ GoodsActionBigBtn,
+ GoodsActionMiniBtn
+} from 'vant';
+
+Vue.component(GoodsAction.name, GoodsAction);
+Vue.component(GoodsActionBigBtn.name, GoodsActionBigBtn);
+Vue.component(GoodsActionMiniBtn.name, GoodsActionMiniBtn);
+```
+
+### 代码演示
+
+:::demo
+```html
+
+
+ 客服
+
+
+ 购物车
+
+
+ 加入购物车
+
+
+ 立即购买
+
+
+```
+
+```javascript
+export default {
+ methods: {
+ onClickMiniBtn() {
+ Toast('点击图标');
+ },
+ onClickBigBtn() {
+ Toast('点击按钮');
+ }
+ }
+}
+```
+:::
+
+### API
+
+#### GoodsActionMiniBtn
+
+| 参数 | 说明 | 类型 | 默认值 | 可选值 |
+|-----------|-----------|-----------|-------------|-------------|
+| icon | 图标 | `String` | - | Icon 组件支持的所有图标 |
+| iconClass | 图标额外类名 | `String` | `''` | - |
+| url | 跳转链接 | `String` | `javascript:;` | - |
+
+#### GoodsActionBigBtn
+
+| 参数 | 说明 | 类型 | 默认值 | 可选值 |
+|-----------|-----------|-----------|-------------|-------------|
+| url | 跳转链接 | `String` | `javascript:;` | - |
+| primary | 是否主行动按钮,主行动按钮默认为红色 | `Boolean` | `false` | - |
diff --git a/docs/examples-docs/icon.md b/docs/examples-docs/icon.md
index a3bb72d84..a6c572e82 100644
--- a/docs/examples-docs/icon.md
+++ b/docs/examples-docs/icon.md
@@ -1,375 +1,152 @@
+
+
## Icon 图标
### 使用指南
-
-如果你已经按照快速上手中引入了整个,以下**组件注册**就可以忽略了,因为你已经全局注册了`vant`中的全部组件。
-
-#### 全局注册
-
-你可以在全局注册`Icon`组件,比如页面的主文件(`index.js`,`main.js`),这样页面任何地方都可以直接使用`Icon`组件了:
-
-```js
-import Vue from 'vue';
+``` javascript
import { Icon } from 'vant';
-import 'vant/lib/vant-css/icon.css';
Vue.component(Icon.name, Icon);
```
-#### 局部注册
-
-如果你只是想在某个组件中使用,你可以在对应组件中注册`Icon`组件,这样只能在你注册的组件中使用`Icon`:
-
-```js
-import { Icon } from 'vant';
-import 'vant/lib/vant-css/icon.css';
-
-export default {
- components: {
- 'van-icon': Icon
- }
-};
-```
-
### 代码演示
#### 基础用法
-设置`name`属性为对应的图标名称即可:
+设置`name`属性为对应的图标名称即可,所有可用的图标名称见右侧列表
:::demo 基础用法
```html
-
-```
-:::
-
-#### 所有Icons
-
-以下目前有的所有图标及其名称:
-
-:::demo 所有Icon
-```html
-
-
-
- qr-invalid
-
-
-
- qr
-
-
-
- exchange
-
-
-
- close
-
-
-
- location
-
-
-
- upgrade
-
-
-
- check
-
-
-
- checked
-
-
-
- like-o
-
-
-
- like
-
-
-
- chat
-
-
-
- shop
-
-
-
- photograph
-
-
-
- add
-
-
-
- add2
-
-
-
- photo
-
-
-
- edit
-
-
-
- passed
-
-
-
- cart
-
-
-
- arrow
-
-
-
- gift
-
-
-
- search
-
-
-
- clear
-
-
-
- success
-
-
-
- fail
-
-
-
- contact
-
-
-
- wechat
-
-
-
- alipay
-
-
-
- password-view
-
-
-
- wap-nav
-
-
-
- password-not-view
-
-
-
- wap-home
-
-
-
- ecard-pay
-
-
-
- balance-pay
-
-
-
- peer-pay
-
-
-
- credit-pay
-
-
-
- debit-pay
-
-
-
- other-pay
-
-
-
- cart
-
-
-
- browsing-history
-
-
-
- goods-collect
-
-
-
- shop-collect
-
-
-
- receive-gift
-
-
-
- send-gift
-
-
-
- setting
-
-
-
- points
-
-
-
- coupon
-
-
-
- free-postage
-
-
-
- discount
-
-
-
- birthday-privilege
-
-
-
- member-day-privilege
-
-
-
- balance-details
-
-
-
- cash-back-record
-
-
-
- points-mall
-
-
-
- exchange-record
-
-
-
- pending-payment
-
-
-
- pending-orders
-
-
-
- pending-deliver
-
-
-
- logistics
-
-
-
- pending-evaluate
-
-
-
- cash-on-deliver
-
-
-
- gift-card-pay
-
-
-
- underway
-
-
-
- point-gift
-
-
-
- after-sale
-
-
-
- edit-data
-
-
-
- question
-
-
-
- delete
-
-
-
- records
-
-
-
- description
-
-
-
- card
-
-
-
- gift-card
-
-
-
- coupon
-
-
-
- clock
-
-
-
- gold-coin
-
-
+
```
:::
@@ -377,4 +154,4 @@ export default {
| 参数 | 说明 | 类型 | 默认值 | 可选值 |
|-----------|-----------|-----------|-------------|-------------|
-| name | icon名称 | `string` | `''` | |
+| name | icon名称 | `String` | `''` | - |
diff --git a/docs/examples-docs/image-preview.md b/docs/examples-docs/image-preview.md
index 55bb07f72..0de221cb1 100644
--- a/docs/examples-docs/image-preview.md
+++ b/docs/examples-docs/image-preview.md
@@ -7,14 +7,11 @@
```
:::
-点击以下按钮查看手机端效果:
-
-点击查看手机端效果
-
-
### 方法参数
| 参数名 | 说明 | 类型 |
diff --git a/docs/examples-docs/invalid-goods.md b/docs/examples-docs/invalid-goods.md
new file mode 100644
index 000000000..241ab5161
--- /dev/null
+++ b/docs/examples-docs/invalid-goods.md
@@ -0,0 +1,83 @@
+## InvalidGoods 不可用商品列表
+
+
+
+### 使用指南
+``` javascript
+import { InvalidGoods } from 'vant';
+
+Vue.component(InvalidGoods.name, InvalidGoods);
+```
+
+### 代码演示
+
+#### 基础用法
+
+:::demo 基础用法
+```html
+
+
+
+
+
+```
+:::
+
+### API
+
+| 参数 | 说明 | 类型 | 默认值 | 必须 |
+|-----------|-----------|-----------|-------------|-------------|
+| goods | 商品数据 | `Array` | | 是 |
+| title | 标题 | `String` | `以下商品无法一起购买,点击查看原因` | 否 |
+| actionsheetTitle | 弹出层标题 | `String` | `以下商品无法一起下单` | 否 |
+
+### 数据格式
+#### data中的商品字段说明
+| key | 说明 | 类型 |
+|-----------|-----------|-----------|
+| num | 商品数量 | `Number` |
+| sku_id | 商品 id | `Number` |
+| price | 商品价格,以分为单位 | `Number` |
+| title | 商品标题 | `String` |
+| img_url | 商品图片 url | `String` |
+| unavailable_desc | 不可用原因 | `String` |
+| sku | 商品 sku | `Array` |
diff --git a/docs/examples-docs/layout.md b/docs/examples-docs/layout.md
index 179abbe79..2fe09d2a9 100644
--- a/docs/examples-docs/layout.md
+++ b/docs/examples-docs/layout.md
@@ -1,121 +1,75 @@
## Layout 布局
-主要提供了`van-row`和`van-col`两个组件来进行行列布局。
+提供了`van-row`和`van-col`两个组件来进行行列布局
### 使用指南
-
-如果你已经按照快速上手中引入了整个`vant`,以下**组件注册**就可以忽略了,因为你已经全局注册了`vant`中的全部组件。
-
-#### 全局注册
-
-你可以在全局注册`Row`和`Col`组件,比如页面的主文件(`index.js`,`main.js`),这样页面任何地方都可以直接使用`Row`和`Col`组件了:
-
-```js
-import Vue from 'vue';
+``` javascript
import { Row, Col } from 'vant';
-import 'vant/lib/vant-css/col.css';
-import 'vant/lib/vant-css/row.css';
Vue.component(Row.name, Row);
Vue.component(Col.name, Col);
```
-#### 局部注册
-
-如果你只是想在某个组件中使用,你可以在对应组件中注册`Row`和`Col`组件,这样只能在你注册的组件中使用`Row`和`Col`:
-
-```js
-import { Row, Col } from 'vant';
-import 'vant/lib/vant-css/col.css';
-import 'vant/lib/vant-css/row.css';
-
-export default {
- components: {
- 'van-row': Row,
- 'van-col': Col
- }
-};
-```
-
### 代码演示
-#### 常规用法
+#### 基本用法
-Layout组件提供了`24列栅格`,通过在`van-col`上添加`span`属性设置列所占的宽度百分比`(span / 24)`;此外,添加`offset`属性可以设置列的偏移宽度,计算方式与span相同。
+Layout 组件提供了`24列栅格`,通过在`Col`上添加`span`属性设置列所占的宽度百分比
+此外,添加`offset`属性可以设置列的偏移宽度,计算方式与 span 相同
-:::demo 常规用法
+:::demo 基本用法
```html
-
- span: 8
-
-
- span: 8
-
-
- span: 8
-
+ span: 8
+ span: 8
+ span: 8
+
-
- span: 4
-
-
- offset: 4, span: 10
-
+ span: 4
+ offset: 4, span: 10
+
-
- offset: 12, span: 12
-
+ offset: 12, span: 12
```
:::
-#### 在列元素之间增加间距
+#### 设置列元素间距
-列元素之间默认间距为0,如果希望在列元素增加相同的间距,可以在`van-row`上添加`gutter`属性来设置列元素之间的间距。
+通过`gutter`属性可以设置列元素之间的间距,默认间距为 0
:::demo 在列元素之间增加间距
```html
-
- span: 8
-
-
- span: 8
-
-
- span: 8
-
+ span: 8
+ span: 8
+ span: 8
```
:::
@@ -125,10 +79,12 @@ Layout组件提供了`24列栅格`,通过在`van-col`上添加`span`属性设
#### Row
| 参数 | 说明 | 类型 | 默认值 | 可选值 |
|-----------|-----------|-----------|-------------|-------------|
-| gutter | 列元素之间的间距(单位为px) | `String | Number` | - | |
+| gutter | 列元素之间的间距(单位为px) | `String | Number` | - | - |
+| prefix | className 前缀 | `String` | `van` | - |
#### Column
| 参数 | 说明 | 类型 | 默认值 | 可选值 |
|-----------|-----------|-----------|-------------|-------------|
-| span | 列元素宽度 | `String | Number` | - | |
-| offset | 列元素偏移宽度 | `String | Number` | - | |
+| span | 列元素宽度 | `String | Number` | - | - |
+| offset | 列元素偏移距离 | `String | Number` | - | - |
+| prefix | className 前缀 | `String` | `van` | - |
diff --git a/docs/examples-docs/loading.md b/docs/examples-docs/loading.md
index e62e21f8f..8a9dcffc2 100644
--- a/docs/examples-docs/loading.md
+++ b/docs/examples-docs/loading.md
@@ -1,19 +1,8 @@
@@ -21,71 +10,29 @@
## Loading 加载
### 使用指南
-
-如果你已经按照快速上手中引入了整个`vant`,以下**组件注册**就可以忽略了,因为你已经全局注册了`vant`中的全部组件。
-
-#### 全局注册
-
-你可以在全局注册`Loading`组件,比如页面的主文件(`index.js`,`main.js`),这样页面任何地方都可以直接使用`Loading`组件了:
-
-```js
-import Vue from 'vue';
+``` javascript
import { Loading } from 'vant';
-import 'vant/lib/vant-css/loading.css';
Vue.component(Loading.name, Loading);
```
-#### 局部注册
-
-如果你只是想在某个组件中使用,你可以在对应组件中注册`Loading`组件,这样只能在你注册的组件中使用`Loading`:
-
-```js
-import { Loading } from 'vant';
-import 'vant/lib/vant-css/loading.css';
-
-export default {
- components: {
- 'van-loading': Loading
- }
-};
-```
-
### 代码演示
-#### 渐变深色spinner
+#### 单色 spinner
-:::demo 渐变深色spinner
+:::demo 单色 spinner
```html
-
+
+
```
:::
-#### 渐变浅色spinner
+#### 渐变色 spinner
-:::demo 渐变浅色spinner
+:::demo 渐变色 spinner
```html
-
-
-
-
-
-```
-:::
-
-#### 单色spinner
-
-:::demo 单色spinner
-```html
-
-
+
+
```
:::
@@ -93,5 +40,5 @@ export default {
| 参数 | 说明 | 类型 | 默认值 | 可选值 |
|-----------|-----------|-----------|-------------|-------------|
-| color | `loading`颜色 | `string` | `black` | `black`, `white` |
-| type | `loading`类型 | `string` | `gradient-circle` | `gradient-circle`, `circle` |
+| color | 颜色 | `string` | `black` | `black` `white` |
+| type | 类型 | `string` | `gradient-circle` | `gradient-circle` `circle` |
diff --git a/docs/examples-docs/notice-bar.md b/docs/examples-docs/notice-bar.md
new file mode 100644
index 000000000..7da1faa12
--- /dev/null
+++ b/docs/examples-docs/notice-bar.md
@@ -0,0 +1,69 @@
+
+
+## NoticeBar 通告栏
+
+### 使用指南
+``` javascript
+import { NoticeBar } from 'vant';
+
+Vue.component(NoticeBar.name, NoticeBar);
+```
+
+### 代码演示
+
+#### 基础用法
+
+:::demo 基础用法
+```html
+
+```
+:::
+
+#### 禁用滚动
+文字内容多于一行时,可通过`scrollable`参数控制是否开启滚动
+
+:::demo 禁用滚动
+```html
+
+ 足协杯战线连续第2年上演广州德比战,上赛季半决赛上恒大以两回合5-3的总比分淘汰富力。
+
+```
+:::
+
+#### 通告栏模式
+默认模式为空,支持`closeable`和`link`。
+
+:::demo 通告栏模式
+```html
+
+
+ 足协杯战线连续第2年上演广州德比战,上赛季半决赛上恒大以两回合5-3的总比分淘汰富力。
+
+
+
+
+ 足协杯战线连续第2年上演广州德比战,上赛季半决赛上恒大以两回合5-3的总比分淘汰富力。
+
+```
+:::
+
+### API
+
+| 参数 | 说明 | 类型 | 默认值 | 可选值 |
+|-----------|-----------|-----------|-------------|-------------|
+| mode | 通告栏模式 | String | `''` | `closeable` `link` |
+| delay | 动画延迟时间,单位秒 | Number | `1` | - |
+| speed | 滚动速率,单位px | Number | `40` | - |
+| scrollable | 是否滚动 | Boolean | `true` | - |
+
+### Event
+
+| 事件名 | 说明 | 参数 |
+|-----------|-----------|-----------|
+| click | 点击事件回调 | - |
diff --git a/docs/examples-docs/order-goods.md b/docs/examples-docs/order-goods.md
new file mode 100644
index 000000000..3c882555f
--- /dev/null
+++ b/docs/examples-docs/order-goods.md
@@ -0,0 +1,235 @@
+## OrderGoods 下单页商品列表
+
+
+
+### 使用指南
+``` javascript
+import { OrderGoods } from 'vant';
+
+Vue.component(OrderGoods.name, OrderGoods);
+```
+
+### 代码演示
+
+#### 基础用法
+
+:::demo 基础用法
+```html
+
+
+
+
+
+```
+:::
+
+#### 积分商品
+
+:::demo 积分商品
+```html
+
+
+
+
+
+```
+:::
+
+#### 预售商品
+
+:::demo 预售商品
+```html
+
+
+
+
+
+```
+:::
+
+#### 商品为空
+
+:::demo 商品为空
+```html
+
+```
+:::
+
+#### 多个商品
+
+:::demo 多个商品
+```html
+
+```
+:::
+
+### API
+
+| 参数 | 说明 | 类型 | 默认值 |
+|-----------|-----------|-----------|-------------|
+| shop-name | 店铺名称 | `String` | |
+| shop-link | 店铺链接 | `String` | |
+| header-icon | 店铺名称左侧的图标类型 | `String` | `shop` |
+| header-badge | 店铺名称右侧的徽章链接 | `String` | |
+| item-list | 商品列表 | `Array` | `[]` |
+| empty-icon | 商品列表为空时的图标 | `String` | |
+| empty-message | 商品列表为空时的提示文案 | `String` | `当前没有可购买的商品,请重新选择` |
+| empty-button-text | 商品列表为空时的按钮文案 | `String` | `返回重新选择` |
+| v-model | 买家留言 | `String` | `''` |
+| show-total-price | 是否显示价格栏 | `Boolean` | `true` |
+| show-message | 是否显示留言栏 | `Boolean` | `true` |
+| message-editable | 留言是否可以编辑 | `Boolean` | `true` |
+| price | 合计金额(单位分) | `Number` | |
+| points | 合计积分 | `Number` | |
+
+### 数据格式
+#### itemList 中的配送方式字段说明
+| key | 说明 | 类型 |
+|-----------|-----------|-----------|
+| title | 商品名称 | `String` |
+| img_url | 图片地址 | `String` |
+| delivery_time | 发货时间 | `String` |
+| num | 商品数量 | `Number` |
+| points_price | 积分价格 | `Number` |
+| pay_price(单位分) | 金额 | `Number` |
+| sku | 商品 sku | `Array` |
+| message | 商品留言 | `Array` |
+| is_presale | 是否为预售 | `Boolean` |
+| is_present | 是否为赠品 | `Boolean` |
+| is_period_buy | 是否为周期购 | `Boolean` |
+| show_delivery_time | 是否显示发货时间 | `Boolean` |
+
+### Event
+
+| 事件名 | 说明 | 参数 |
+|-----------|-----------|-----------|
+| clickEmptyButton | 点击商品为空时的按钮时触发 | - |
+
+### Slot
+| name | 描述 |
+|-----------|-----------|
+| 默认 | 在商品列表和留言之间插入内容 |
+| top | 在标题和商品列表之间插入内容 |
+| bottom | 在合计价格下方插入内容 |
diff --git a/docs/examples-docs/panel.md b/docs/examples-docs/panel.md
index 5d2f870a5..ee7612ae6 100644
--- a/docs/examples-docs/panel.md
+++ b/docs/examples-docs/panel.md
@@ -1,19 +1,6 @@
+
+### 使用指南
+``` javascript
+import { PayOrder } from 'vant';
+
+Vue.component(PayOrder.name, PayOrder);
+```
+
+### 代码演示
+
+#### 基础用法
+
+:::demo 基础用法
+```html
+
+```
+:::
+
+#### 禁用状态
+禁用状态下不会触发`submit`事件
+
+:::demo 禁用状态
+```html
+
+```
+:::
+
+#### 加载状态
+加载状态下不会触发`submit`事件
+:::demo 加载状态
+```html
+
+```
+:::
+
+### API
+
+| 参数 | 说明 | 类型 | 默认值 | 必须 |
+|-----------|-----------|-----------|-------------|-------------|
+| price | 价格(单位分) | `Number` | | 是 |
+| button-text | 按钮文字 | `String` | | 是 |
+| button-type | 按钮类型 | `String` | `danger` | 否 |
+| tip | 提示文案 | `String` | | 否 |
+| disabled | 是否禁用按钮 | `Boolean` | `false` | 否 |
+| loading | 是否显示加载中的按钮 | `Boolean` | `false` | 否 |
+
+### Event
+
+| 事件名 | 说明 | 参数 |
+|-----------|-----------|-----------|
+| submit | 按钮点击事件回调 | - |
diff --git a/docs/examples-docs/picker.md b/docs/examples-docs/picker.md
index d44577c17..0d3b7acac 100644
--- a/docs/examples-docs/picker.md
+++ b/docs/examples-docs/picker.md
@@ -39,36 +39,12 @@ export default {
## Picker 选择器
### 使用指南
-
-如果你已经按照快速上手中引入了整个`vant`,以下**组件注册**就可以忽略了,因为你已经全局注册了`vant`中的全部组件。
-
-#### 全局注册
-
-你可以在全局注册`Picker`组件,比如页面的主文件(`index.js`,`main.js`),这样页面任何地方都可以直接使用`Picker`组件了:
-
-```js
-import Vue from 'vue';
+``` javascript
import { Picker } from 'vant';
-import 'vant/lib/vant-css/picker.css';
Vue.component(Picker.name, Picker);
```
-#### 局部注册
-
-如果你只是想在某个组件中使用,你可以在对应组件中注册`Picker`组件,这样只能在你注册的组件中使用`Picker`:
-
-```js
-import { Picker } from 'vant';
-import 'vant/lib/vant-css/picker.css';
-
-export default {
- components: {
- 'van-picker': Picker
- }
-};
-```
-
### 代码演示
#### 基础用法
diff --git a/docs/examples-docs/popup.md b/docs/examples-docs/popup.md
index dd582573b..88d857736 100644
--- a/docs/examples-docs/popup.md
+++ b/docs/examples-docs/popup.md
@@ -35,12 +35,9 @@
+```
+:::
+
#### 自动轮播
需要设置`auto-play`属性为`true`,即会自动轮播。
diff --git a/docs/examples-docs/switch-cell.md b/docs/examples-docs/switch-cell.md
new file mode 100644
index 000000000..24ff57fc8
--- /dev/null
+++ b/docs/examples-docs/switch-cell.md
@@ -0,0 +1,81 @@
+## SwitchCell 开关单元格
+
+`SwitchCell`组件是对`Switch`和`Cell`组件的封装
+
+
+
+### 使用指南
+``` javascript
+import { SwitchCell } from 'vant';
+
+Vue.component(SwitchCell.name, SwitchCell);
+```
+
+### 代码演示
+
+#### 基础用法
+
+:::demo 基础用法
+```html
+
+
+
+
+
+
+
+```
+:::
+
+#### 禁用状态
+通过`disabled`属性可以将组件设置为禁用状态
+
+:::demo 禁用状态
+```html
+
+
+
+```
+:::
+
+#### 加载状态
+通过`loading`属性可以将组件设置为加载状态
+
+:::demo 加载状态
+```html
+
+
+
+```
+:::
+
+### API
+
+| 参数 | 说明 | 类型 | 默认值 | 可选值 |
+|-----------|-----------|-----------|-------------|-------------|
+| v-model | 开关状态 | `Boolean` | | |
+| title | 左侧标题 | `String` | `''` | |
+| loading | 是否为加载状态 | `Boolean` | `false` | |
+| disabled | 是否为禁用状态 | `Boolean` | `false` | |
+
+### Event
+
+| 事件名 | 说明 | 参数 |
+|-----------|-----------|-----------|
+| change | 开关状态切换回调 | checked: 是否选中开关 |
\ No newline at end of file
diff --git a/docs/examples-docs/switch.md b/docs/examples-docs/switch.md
index 6e62d38c0..cb02b9ec8 100644
--- a/docs/examples-docs/switch.md
+++ b/docs/examples-docs/switch.md
@@ -44,36 +44,12 @@ export default {
## Switch 开关
### 使用指南
-
-如果你已经按照快速上手中引入了整个`vant`,以下**组件注册**就可以忽略了,因为你已经全局注册了`vant`中的全部组件。
-
-#### 全局注册
-
-你可以在全局注册`Switch`组件,比如页面的主文件(`index.js`,`main.js`),这样页面任何地方都可以直接使用`Switch`组件了:
-
-```js
-import Vue from 'vue';
+``` javascript
import { Switch } from 'vant';
-import 'vant/lib/vant-css/switch.css';
Vue.component(Switch.name, Switch);
```
-#### 局部注册
-
-如果你只是想在某个组件中使用,你可以在对应组件中注册`Switch`组件,这样只能在你注册的组件中使用`Switch`:
-
-```js
-import { Switch } from 'vant';
-import 'vant/lib/vant-css/switch.css';
-
-export default {
- components: {
- 'van-switch': Switch
- }
-};
-```
-
### 代码演示
#### 基础用法
diff --git a/docs/examples-docs/tab.md b/docs/examples-docs/tab.md
index 6f6c8e930..4c2d7486e 100644
--- a/docs/examples-docs/tab.md
+++ b/docs/examples-docs/tab.md
@@ -50,38 +50,13 @@ export default {
## Tab 标签
### 使用指南
-
-如果你已经按照快速上手中引入了整个`vant`,以下**组件注册**就可以忽略了,因为你已经全局注册了`vant`中的全部组件。
-
-#### 全局注册
-
-你可以在全局注册`Tab`组件,比如页面的主文件(`index.js`,`main.js`),这样页面任何地方都可以直接使用`Tab`组件了:
-
-```js
-import Vue from 'vue';
+``` javascript
import { Tab, Tabs } from 'vant';
-import 'vant/lib/vant-css/tab.css';
Vue.component(Tab.name, Tab);
Vue.component(Tabs.name, Tabs);
```
-#### 局部注册
-
-如果你只是想在某个组件中使用,你可以在对应组件中注册`Tab`组件,这样只能在你注册的组件中使用`Tab`:
-
-```js
-import { Tab, Tabs } from 'vant';
-import 'vant/lib/vant-css/tab.css';
-
-export default {
- components: {
- 'van-tab': Tab,
- 'van-tabs': Tabs
- }
-};
-```
-
### 代码演示
#### 基础用法
diff --git a/docs/examples-docs/tag.md b/docs/examples-docs/tag.md
index f6ca4d596..63491187f 100644
--- a/docs/examples-docs/tag.md
+++ b/docs/examples-docs/tag.md
@@ -1,87 +1,60 @@
## Tag 标记
### 使用指南
-
-如果你已经按照快速上手中引入了整个`vant`,以下**组件注册**就可以忽略了,因为你已经全局注册了`vant`中的全部组件。
-
-#### 全局注册
-
-你可以在全局注册`Tag`组件,比如页面的主文件(`index.js`,`main.js`),这样页面任何地方都可以直接使用`Tag`组件了:
-
-```js
-import Vue from 'vue';
+``` javascript
import { Tag } from 'vant';
-import 'vant/lib/vant-css/tag.css';
Vue.component(Tag.name, Tag);
```
-#### 局部注册
-
-如果你只是想在某个组件中使用,你可以在对应组件中注册`Tag`组件,这样只能在你注册的组件中使用`Tag`:
-
-```js
-import { Tag } from 'vant';
-import 'vant/lib/vant-css/tag.css';
-
-export default {
- components: {
- 'van-tag': Tag
- }
-};
-```
-
### 代码演示
#### 基础用法
-
-`Tag`默认是灰色,另外还有有三种类型,`danger`、`success`、`primary`,它们分别显示为红色,绿色和蓝色,你也可以加上自定义的类,为它们加上其他的颜色。
-
+通过 type 属性控制 Tag 颜色,默认为灰色
:::demo 基础用法
```html
-
- 返现
-
-
- 返现
- 四字标签
- 一
-
+标签
+标签
+标签
+标签
```
:::
-#### 高级用法
+#### 空心样式
+设置`plain`属性设置为空心样式
-设置`plain`为`true`时表示空心的`tag`,还可以设置`mark`为`true`,表示是否为标记。
-
-:::demo 高级用法
+:::demo 空心样式
```html
-
- 返现
- 返现
-
-
- 返现
- 返现
-
-
- 返现
- 返现
-
-
- 返现
- 返现
-
+标签
+标签
+标签
+标签
+```
+:::
+
+#### 标记样式
+通过`mark`设置为标记样式
+
+:::demo 标记样式
+```html
+标签
+标签
+标签
+标签
```
:::
@@ -89,12 +62,12 @@ export default {
| 参数 | 说明 | 类型 | 默认值 | 可选值 |
|-----------|-----------|-----------|-------------|-------------|
-| plain | 是否是空心tag | `boolean` | `false` | |
-| mark | 是否是标记 | `boolean` | `false` | |
-| type | tag类型 | `string` | `''` | `primary`, `success`, `danger` |
+| type | 类型 | `String` | `''`| `primary` `success` `danger` |
+| plain | 是否为空心样式 | `Boolean` | `false` | |
+| mark | 是否为标记样式 | `Boolean` | `false` | |
### Slot
| name | 描述 |
|-----------|-----------|
-| - | 自定义tag显示内容 |
+| - | 自定义 Tag 显示内容 |
diff --git a/docs/examples-docs/toast.md b/docs/examples-docs/toast.md
index c36cbdfc6..aed09019c 100644
--- a/docs/examples-docs/toast.md
+++ b/docs/examples-docs/toast.md
@@ -7,7 +7,7 @@
diff --git a/docs/src/ExamplesDocsApp.vue b/docs/src/ExamplesDocsApp.vue
index c8753bf7f..85337be4a 100644
--- a/docs/src/ExamplesDocsApp.vue
+++ b/docs/src/ExamplesDocsApp.vue
@@ -7,7 +7,6 @@
diff --git a/docs/src/components/mobile-computed.js b/docs/src/components/mobile-computed.js
deleted file mode 100644
index 9e6d5c5e9..000000000
--- a/docs/src/components/mobile-computed.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import MobilePopup from './mobile-popup.vue';
-
-export default {
- components: {
- MobilePopup
- },
-
- computed: {
- mobileUrl() {
- return '/zanui/vue/examples' + location.pathname.slice(10);
- }
- },
-
- data() {
- return {
- mobileShow: false
- };
- }
-};
diff --git a/docs/src/components/mobile-popup.vue b/docs/src/components/mobile-popup.vue
deleted file mode 100644
index cdd637d1f..000000000
--- a/docs/src/components/mobile-popup.vue
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/docs/src/doc.config.js b/docs/src/doc.config.js
index b58bf3a99..844406b25 100644
--- a/docs/src/doc.config.js
+++ b/docs/src/doc.config.js
@@ -26,6 +26,10 @@ module.exports = {
"title": "快速上手",
noExample: true
},
+ {
+ "title": "业务组件",
+ "link": "/zanui/captain/component/quickstart"
+ },
{
"path": "/changelog",
"title": "更新日志",
@@ -36,7 +40,7 @@ module.exports = {
]
},
{
- "name": "Vant组件",
+ "name": "组件",
"showInMobile": true,
"groups": [
{
@@ -46,13 +50,17 @@ module.exports = {
"path": "/layout",
"title": "Layout 布局"
},
+ {
+ "path": "/badge",
+ "title": "Badge 徽章"
+ },
{
"path": "/button",
"title": "Button 按钮"
},
{
- "path": "/icon",
- "title": "Icon 图标"
+ "path": "/card",
+ "title": "Card 图文组件"
},
{
"path": "/cell",
@@ -60,43 +68,55 @@ module.exports = {
},
{
"path": "/cell-swipe",
- "title": "Cell Swipe 滑动单元格"
+ "title": "CellSwipe 滑动单元格"
},
{
- "path": "/progress",
- "title": "Progress 进度条"
+ "path": "/icon",
+ "title": "Icon 图标"
},
{
- "path": "/card",
- "title": "Card 图文组件"
+ "path": "/image-preview",
+ "title": "ImagePreview 图片预览"
},
{
- "path": "/panel",
- "title": "Panel 面板"
+ "path": "/lazyload",
+ "title": "Lazyload 图片懒加载"
},
{
"path": "/loading",
"title": "Loading 加载"
},
+ {
+ "path": "/notice-bar",
+ "title": "NoticeBar 通告栏"
+ },
+ {
+ "path": "/panel",
+ "title": "Panel 面板"
+ },
+ {
+ "path": "/popup",
+ "title": "Popup 弹出菜单"
+ },
+ {
+ "path": "/progress",
+ "title": "Progress 进度条"
+ },
+ {
+ "path": "/quantity",
+ "title": "Quantity 数量选择"
+ },
{
"path": "/steps",
"title": "Steps 步骤条"
},
- {
- "path": "/tag",
- "title": "Tag 标记"
- },
- {
- "path": "/badge",
- "title": "Badge 徽章"
- },
{
"path": "/tab",
"title": "Tab 标签"
},
{
- "path": "/popup",
- "title": "Popup 弹出菜单"
+ "path": "/tag",
+ "title": "Tag 标记"
},
{
"path": "/swipe",
@@ -106,21 +126,9 @@ module.exports = {
"path": "/search",
"title": "Search 搜索"
},
- {
- "path": "/quantity",
- "title": "Quantity 数量选择"
- },
{
"path": "/waterfall",
"title": "Waterfall 瀑布流"
- },
- {
- "path": "/image-preview",
- "title": "ImagePreview 图片预览"
- },
- {
- "path": "/lazyload",
- "title": "Lazyload 图片懒加载"
}
]
},
@@ -128,8 +136,8 @@ module.exports = {
"groupName": "表单",
"list": [
{
- "path": "/switch",
- "title": "Switch 开关"
+ "path": "/checkbox",
+ "title": "Checkbox 复选框"
},
{
"path": "/field",
@@ -140,8 +148,8 @@ module.exports = {
"title": "Radio 单选框"
},
{
- "path": "/checkbox",
- "title": "Checkbox 复选框"
+ "path": "/switch",
+ "title": "Switch 开关"
},
{
"path": "/uploader",
@@ -157,20 +165,53 @@ module.exports = {
"title": "Actionsheet 行动按钮"
},
{
- "path": "/toast",
- "title": "Toast 轻提示"
+ "path": "/datetime-picker",
+ "title": "DatetimePicker 时间选择"
+ },
+ {
+ "path": "/dialog",
+ "title": "Dialog 弹出框"
},
{
"path": "/picker",
"title": "Picker 选择器"
},
{
- "path": "/datetime-picker",
- "title": "Datetime Picker 时间选择"
+ "path": "/toast",
+ "title": "Toast 轻提示"
+ }
+ ]
+ },
+ {
+ "groupName": "业务组件",
+ "list": [
+ {
+ "path": "/deep-select",
+ "title": "DeepSelect 分类选择组件"
},
{
- "path": "/dialog",
- "title": "Dialog 弹出框"
+ "path": "/express-way",
+ "title": "ExpressWay 配送方式"
+ },
+ {
+ "path": "/goods-action",
+ "title": "GoodsAction 商品操作"
+ },
+ {
+ "path": "/invalid-goods",
+ "title": "InvalidGoods 不可用商品列表"
+ },
+ {
+ "path": "/order-goods",
+ "title": "OrderGoods 下单页商品列表"
+ },
+ {
+ "path": "/pay-order",
+ "title": "PayOrder 提交订单栏"
+ },
+ {
+ "path": "/switch-cell",
+ "title": "SwitchCell 开关单元格"
}
]
}
diff --git a/docs/src/examples.js b/docs/src/examples.js
index d6d0c5d6d..235d2fb2c 100644
--- a/docs/src/examples.js
+++ b/docs/src/examples.js
@@ -2,15 +2,15 @@ import Vue from 'vue';
import VueRouter from 'vue-router';
import App from './ExamplesApp';
import routes from './router.config';
-import ZanUI from 'src/index';
+import Vant, { Lazyload } from 'packages';
import ZanDoc from 'zan-doc';
+import DemoList from './components/demo-list';
import 'packages/vant-css/src/index.css';
+import 'zan-doc/src/helper/touch-simulator';
-import DemoList from './components/demo-list.vue';
-
-Vue.use(ZanUI);
+Vue.use(Vant);
Vue.use(ZanDoc);
-Vue.use(ZanUI.Lazyload, {
+Vue.use(Lazyload, {
lazyComponent: true
});
Vue.use(VueRouter);
@@ -30,7 +30,7 @@ router.beforeEach((to, from, next) => {
if (container) {
document.querySelector('.examples-container').scrollTop = 0;
}
- next()
+ next();
});
new Vue({ // eslint-disable-line
diff --git a/docs/src/index.js b/docs/src/index.js
index 2f7c3b729..0b1484d7f 100644
--- a/docs/src/index.js
+++ b/docs/src/index.js
@@ -2,32 +2,18 @@ import Vue from 'vue';
import VueRouter from 'vue-router';
import App from './ExamplesDocsApp';
import routes from './router.config';
-import ZanUI from 'src/index.js';
import ZanDoc from 'zan-doc';
-import packageJson from '../../package.json';
import DemoBlock from './components/demo-block';
-const global = {
- version: packageJson.version
-};
-window._global = global;
-
-import '../assets/docs.css';
-import 'packages/vant-css/src/index.css';
-
-function isMobile() {
+const isMobile = (function() {
var platform = navigator.userAgent.toLowerCase();
return (/(android|bb\d+|meego).+mobile|kdtunion|weibo|m2oapp|micromessenger|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i).test(platform) ||
(/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i).test(platform.substr(0, 4));
-}
+})();
Vue.use(VueRouter);
-Vue.use(ZanUI);
Vue.use(ZanDoc);
-Vue.use(ZanUI.Lazyload, {
- lazyComponent: true
-});
-Vue.component('demo-block', DemoBlock);
+Vue.component(DemoBlock.name, DemoBlock);
const routesConfig = routes();
routesConfig.push({
@@ -42,19 +28,20 @@ const router = new VueRouter({
});
router.beforeEach((route, redirect, next) => {
- if (route.path !== '/') {
- window.scrollTo(0, 0);
- }
-
- const pathname = '/zanui/vue/examples';
- if (isMobile()) {
- window.location.replace(pathname);
+ if (isMobile) {
+ window.location.replace('/zanui/vue/examples');
return;
}
document.title = route.meta.title || document.title;
next();
});
+router.afterEach(() => {
+ if (!isMobile) {
+ window.scrollTo(0, 0);
+ }
+});
+
new Vue({ // eslint-disable-line
render: h => h(App),
router
diff --git a/docs/src/router.config.js b/docs/src/router.config.js
index 19d7ad0a3..b49e01ca1 100644
--- a/docs/src/router.config.js
+++ b/docs/src/router.config.js
@@ -1,4 +1,6 @@
const navs = require('./doc.config')['zh-CN'].nav;
+import componentDocs from '../examples-dist/entry-docs';
+import componentDemos from '../examples-dist/entry-demos';
const registerRoute = (isExample) => {
let route = [];
@@ -9,31 +11,26 @@ const registerRoute = (isExample) => {
if (nav.groups) {
nav.groups.forEach(group => {
- group.list.forEach(nav => {
- addRoute(nav);
- });
+ group.list.forEach(addRoute);
});
} else if (nav.children) {
- nav.children.forEach(nav => {
- addRoute(nav);
- });
+ nav.children.forEach(addRoute);
} else {
addRoute(nav);
}
});
function addRoute(page) {
- const component = isExample
- ? require(`../examples-dist${page.path}.vue`)
- : require(`../examples-docs${page.path}.md`);
- route.push({
- path: '/component' + page.path,
- component: component.default || component
- });
+ const { path } = page;
+ if (path) {
+ const name = path.replace('/', '');
+ route.push({
+ path: '/component' + path,
+ component: isExample ? componentDemos[name] : componentDocs[name]
+ });
+ }
}
- // console.log(route);
-
return route;
};
diff --git a/lerna.json b/lerna.json
deleted file mode 100644
index 69dc0d691..000000000
--- a/lerna.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "lerna": "2.0.0-beta.31",
- "version": "independent"
-}
diff --git a/package.json b/package.json
index 1c9bdb766..a7ea9f6c7 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "vant",
- "version": "0.7.6",
+ "version": "0.8.7",
"description": "有赞vue wap组件库",
"main": "lib/vant.js",
"style": "lib/vant-css/index.css",
@@ -11,12 +11,11 @@
"packages"
],
"scripts": {
- "bootstrap": "yarn || npm i",
+ "bootstrap": "yarn || npm i && cd ./packages/vant-css/ && yarn || npm i && cd ../../",
"dev": "npm run build:file && webpack-dev-server --inline --config build/webpack.config.dev.js --content-base ./",
"build:file": "node build/bin/build-entry.js",
- "build:utils": "cross-env BABEL_ENV=utils babel src --out-dir lib --ignore src/index.js --presets=es2015",
- "build:components": "cross-env NODE_ENV=production webpack --progress --hide-modules --config build/webpack.components.js --color",
- "build:vant-css": "gulp build --gulpfile packages/vant-css/gulpfile.js --color && cp -R packages/vant-css/lib/ lib/vant-css",
+ "build:components": "node build/bin/build-components.js --color",
+ "build:vant-css": "gulp build --gulpfile packages/vant-css/gulpfile.js --color && mkdir lib/vant-css && cp -R packages/vant-css/lib/ lib/vant-css",
"build:vant": "cross-env NODE_ENV=production webpack --progress --hide-modules --color --config build/webpack.build.js && cross-env NODE_ENV=production webpack -p --progress --hide-modules --color --config build/webpack.build.js",
"deploy": "npm run deploy:docs && npm run deploy:cdn && gh-pages -d docs/dist --remote youzan && rimraf docs/dist",
"deploy:cdn": "superman cdn /zanui/vue docs/dist/*.js docs/dist/*.css",
@@ -27,6 +26,7 @@
"test": "karma start test/unit/karma.conf.js --single-run",
"test:coverage": "open test/unit/coverage/lcov-report/index.html",
"test:watch": "karma start test/unit/karma.conf.js",
+ "test:single": "node ./test/unit/selector.js",
"release": "npm run bootstrap && sh build/release.sh"
},
"repository": {
@@ -41,57 +41,60 @@
"author": "youzanfe",
"license": "ISC",
"dependencies": {
- "raf.js": "0.0.4",
- "vue-lazyload": "^1.0.6"
+ "babel-runtime": "6.x",
+ "vue-lazyload": "^1.1.2"
},
"peerDependencies": {
"vue": "2.4.2"
},
"devDependencies": {
- "autoprefixer": "^7.1.2",
+ "autoprefixer": "^7.1.3",
"avoriaz": "2.0.0",
- "babel-cli": "^6.14.0",
- "babel-core": "^6.25.0",
- "babel-loader": "^7.1.1",
+ "babel-cli": "^6.26.0",
+ "babel-core": "^6.26.0",
+ "babel-helper-vue-jsx-merge-props": "^2.0.2",
+ "babel-loader": "^7.1.2",
"babel-plugin-module-resolver": "^2.7.1",
"babel-plugin-syntax-jsx": "^6.18.0",
+ "babel-plugin-transform-object-rest-spread": "^6.26.0",
"babel-plugin-transform-runtime": "^6.15.0",
"babel-plugin-transform-vue-jsx": "^3.5.0",
- "babel-polyfill": "^6.23.0",
- "babel-preset-es2015": "^6.16.0",
- "babel-runtime": "^6.25.0",
- "chai": "^4.1.0",
+ "babel-polyfill": "^6.26.0",
+ "babel-preset-env": "^1.6.0",
+ "chai": "^4.1.1",
"cheerio": "^0.22.0",
"codecov": "^2.2.0",
- "cross-env": "^5.0.1",
- "css-loader": "^0.28.4",
+ "cross-env": "^5.0.5",
+ "css-loader": "^0.28.7",
"eslint-plugin-vue": "^2.1.0",
- "extract-text-webpack-plugin": "2.1.2",
+ "extract-text-webpack-plugin": "2.0.0",
"felint": "^0.5.0-alpha.3",
+ "file-loader": "^0.11.2",
"file-save": "^0.2.0",
"friendly-errors-webpack-plugin": "^1.6.1",
"gh-pages": "^1.0.0",
"gulp": "^3.9.1",
+ "gulp-cssmin": "^0.2.0",
+ "gulp-postcss": "^7.0.0",
"gulp-util": "^3.0.8",
"highlight.js": "^9.12.0",
"html-webpack-plugin": "^2.29.0",
"isparta-loader": "^2.0.0",
"json-templater": "^1.0.4",
- "karma": "^1.7.0",
+ "karma": "^1.7.1",
"karma-chrome-launcher": "^2.2.0",
"karma-coverage": "^1.1.1",
"karma-mocha": "^1.3.0",
"karma-phantomjs-launcher": "^1.0.4",
- "karma-sinon-chai": "^1.2.4",
+ "karma-sinon-chai": "^1.3.2",
"karma-sourcemap-loader": "^0.3.7",
"karma-spec-reporter": "^0.0.31",
"karma-webpack": "^2.0.4",
- "lerna": "^2.0.0",
- "markdown-it": "^8.3.1",
+ "markdown-it": "^8.4.0",
"markdown-it-container": "^2.0.0",
"mocha": "^3.4.2",
- "optimize-css-assets-webpack-plugin": "^3.0.0",
- "postcss": "^6.0.8",
+ "optimize-css-assets-webpack-plugin": "^3.1.1",
+ "postcss": "^6.0.10",
"postcss-easy-import": "^2.1.0",
"postcss-loader": "^2.0.6",
"precss": "^2.0.0",
@@ -104,17 +107,16 @@
"uppercamelcase": "^3.0.0",
"url-loader": "^0.5.9",
"vue": "^2.4.2",
- "vue-hot-reload-api": "^2.1.0",
"vue-html-loader": "^1.2.4",
- "vue-loader": "^13.0.2",
- "vue-markdown-loader": "^2.0.0",
+ "vue-loader": "^13.0.4",
+ "vue-markdown-loader": "^2.1.0",
"vue-router": "^2.7.0",
+ "vue-sfc-compiler": "^0.0.2",
"vue-style-loader": "^3.0.0",
"vue-template-compiler": "^2.4.2",
- "vue-template-es2015-compiler": "^1.5.3",
- "webpack": "^3.4.1",
- "webpack-dev-server": "^2.6.1",
+ "webpack": "^3.5.5",
+ "webpack-dev-server": "^2.7.1",
"webpack-merge": "^4.1.0",
- "zan-doc": "^0.1.4"
+ "zan-doc": "^0.2.10"
}
}
diff --git a/packages/actionsheet/CHANGELOG.md b/packages/actionsheet/CHANGELOG.md
deleted file mode 100644
index e88c472b3..000000000
--- a/packages/actionsheet/CHANGELOG.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## 0.0.2 (2017-01-20)
-
-* 改了bug A
-* 加了功能B
-
-## 0.0.1 (2017-01-10)
-
-* 第一版
diff --git a/packages/actionsheet/README.md b/packages/actionsheet/README.md
deleted file mode 100644
index 4c6172563..000000000
--- a/packages/actionsheet/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# @youzan/<%= name %>
-
-!!! 请在此处填写你的文档最简单描述 !!!
-
-[![version][version-image]][download-url]
-[![download][download-image]][download-url]
-
-[version-image]: http://npm.qima-inc.com/badge/v/@youzan/<%= name %>.svg?style=flat-square
-[download-image]: http://npm.qima-inc.com/badge/d/@youzan/<%= name %>.svg?style=flat-square
-[download-url]: http://npm.qima-inc.com/package/@youzan/<%= name %>
-
-## Demo
-
-## Usage
-
-## API
-
-| 参数 | 说明 | 类型 | 默认值 | 可选值 |
-|-----------|-----------|-----------|-------------|-------------|
-| className | 自定义额外类名 | string | '' | '' |
-
-
-
-
-## License
-[MIT](https://opensource.org/licenses/MIT)
diff --git a/packages/actionsheet/index.js b/packages/actionsheet/index.js
deleted file mode 100644
index 40c4a8d78..000000000
--- a/packages/actionsheet/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import ActionSheet from './src/actionsheet';
-
-export default ActionSheet;
diff --git a/packages/actionsheet/index.vue b/packages/actionsheet/index.vue
new file mode 100644
index 000000000..04f206ba2
--- /dev/null
+++ b/packages/actionsheet/index.vue
@@ -0,0 +1,74 @@
+
+
+
+
+
+ -
+
+ {{ item.name }}
+ {{ item.subname }}
+
+
+
+
+
{{ cancelText }}
+
+
+
+
+
+
+
+
diff --git a/packages/actionsheet/package.json b/packages/actionsheet/package.json
deleted file mode 100644
index 7dbfa2900..000000000
--- a/packages/actionsheet/package.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "name": "<%= name %>",
- "version": "<%= version %>",
- "description": "<%= description %>",
- "main": "./lib/index.js",
- "author": "<%= author %>",
- "license": "<%= license %>",
- "devDependencies": {},
- "dependencies": {}
-}
diff --git a/packages/actionsheet/src/actionsheet.vue b/packages/actionsheet/src/actionsheet.vue
deleted file mode 100644
index 1c9117bf2..000000000
--- a/packages/actionsheet/src/actionsheet.vue
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-
-
-
-
- -
-
- {{ item.name }}
- {{ item.subname }}
-
-
-
-
-
-
- {{ cancelText }}
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/badge-group/index.js b/packages/badge-group/index.js
deleted file mode 100644
index 2bff2f50d..000000000
--- a/packages/badge-group/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import BadgeGroup from '../badge/src/badge-group';
-
-export default BadgeGroup;
diff --git a/packages/badge-group/index.vue b/packages/badge-group/index.vue
new file mode 100644
index 000000000..1fc386423
--- /dev/null
+++ b/packages/badge-group/index.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
diff --git a/packages/badge/CHANGELOG.md b/packages/badge/CHANGELOG.md
deleted file mode 100644
index e88c472b3..000000000
--- a/packages/badge/CHANGELOG.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## 0.0.2 (2017-01-20)
-
-* 改了bug A
-* 加了功能B
-
-## 0.0.1 (2017-01-10)
-
-* 第一版
diff --git a/packages/badge/README.md b/packages/badge/README.md
deleted file mode 100644
index 4c6172563..000000000
--- a/packages/badge/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# @youzan/<%= name %>
-
-!!! 请在此处填写你的文档最简单描述 !!!
-
-[![version][version-image]][download-url]
-[![download][download-image]][download-url]
-
-[version-image]: http://npm.qima-inc.com/badge/v/@youzan/<%= name %>.svg?style=flat-square
-[download-image]: http://npm.qima-inc.com/badge/d/@youzan/<%= name %>.svg?style=flat-square
-[download-url]: http://npm.qima-inc.com/package/@youzan/<%= name %>
-
-## Demo
-
-## Usage
-
-## API
-
-| 参数 | 说明 | 类型 | 默认值 | 可选值 |
-|-----------|-----------|-----------|-------------|-------------|
-| className | 自定义额外类名 | string | '' | '' |
-
-
-
-
-## License
-[MIT](https://opensource.org/licenses/MIT)
diff --git a/packages/badge/index.js b/packages/badge/index.js
deleted file mode 100644
index dc8381205..000000000
--- a/packages/badge/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import Badge from './src/badge';
-
-export default Badge;
diff --git a/packages/badge/src/badge.vue b/packages/badge/index.vue
similarity index 55%
rename from packages/badge/src/badge.vue
rename to packages/badge/index.vue
index 6103c1440..9ed36df14 100644
--- a/packages/badge/src/badge.vue
+++ b/packages/badge/index.vue
@@ -1,13 +1,9 @@
-
-
- {{info}}
- {{title}}
-
+
+
+ {{ info }}
+ {{ title }}
+
diff --git a/packages/button/CHANGELOG.md b/packages/button/CHANGELOG.md
deleted file mode 100644
index e88c472b3..000000000
--- a/packages/button/CHANGELOG.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## 0.0.2 (2017-01-20)
-
-* 改了bug A
-* 加了功能B
-
-## 0.0.1 (2017-01-10)
-
-* 第一版
diff --git a/packages/button/README.md b/packages/button/README.md
deleted file mode 100644
index 4c6172563..000000000
--- a/packages/button/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# @youzan/<%= name %>
-
-!!! 请在此处填写你的文档最简单描述 !!!
-
-[![version][version-image]][download-url]
-[![download][download-image]][download-url]
-
-[version-image]: http://npm.qima-inc.com/badge/v/@youzan/<%= name %>.svg?style=flat-square
-[download-image]: http://npm.qima-inc.com/badge/d/@youzan/<%= name %>.svg?style=flat-square
-[download-url]: http://npm.qima-inc.com/package/@youzan/<%= name %>
-
-## Demo
-
-## Usage
-
-## API
-
-| 参数 | 说明 | 类型 | 默认值 | 可选值 |
-|-----------|-----------|-----------|-------------|-------------|
-| className | 自定义额外类名 | string | '' | '' |
-
-
-
-
-## License
-[MIT](https://opensource.org/licenses/MIT)
diff --git a/packages/button/index.js b/packages/button/index.js
index 5e17857e6..1961b6e9f 100644
--- a/packages/button/index.js
+++ b/packages/button/index.js
@@ -1,3 +1,76 @@
-import Button from './src/button';
+import Loading from '../loading';
-export default Button;
+const ALLOWED_SIZE = ['mini', 'small', 'normal', 'large'];
+const ALLOWED_TYPE = ['default', 'danger', 'primary'];
+
+export default {
+ name: 'van-button',
+
+ components: {
+ [Loading.name]: Loading
+ },
+
+ props: {
+ block: Boolean,
+ loading: Boolean,
+ disabled: Boolean,
+ nativeType: String,
+ bottomAction: Boolean,
+ tag: {
+ type: String,
+ default: 'button'
+ },
+ type: {
+ type: String,
+ default: 'default',
+ validator: value => ALLOWED_TYPE.indexOf(value) > -1
+ },
+ size: {
+ type: String,
+ default: 'normal',
+ validator: value => ALLOWED_SIZE.indexOf(value) > -1
+ }
+ },
+
+ methods: {
+ onClick(event) {
+ if (!this.loading && !this.disabled) {
+ this.$emit('click', event);
+ }
+ }
+ },
+
+ render(h) {
+ const { type, loading, disabled, tag: Tag } = this;
+
+ return (
+
+ {loading
+ ?
+ : null}
+
+ {this.$slots.default}
+
+
+ );
+ }
+};
diff --git a/packages/button/package.json b/packages/button/package.json
deleted file mode 100644
index 4f230384c..000000000
--- a/packages/button/package.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "name": "@youzan/van-button",
- "version": "0.0.1",
- "description": "button component",
- "main": "./index.js",
- "author": "niunai",
- "license": "MIT",
- "devDependencies": {},
- "dependencies": {}
-}
diff --git a/packages/button/src/button.js b/packages/button/src/button.js
deleted file mode 100644
index 190d42bbe..000000000
--- a/packages/button/src/button.js
+++ /dev/null
@@ -1,93 +0,0 @@
-/**
- * @module components/button
- * @desc 按钮
- * @param {string} [type=default] - 显示类型,接受 default, primary, danger
- * @param {boolean} [disabled=false] - 禁用
- * @param {string} [size=normal] - 尺寸,接受 normal, mini, small, large
- * @param {string} [native-type] - 原生 type 属性
- * @param {slot} - 显示文本
- *
- * @example
- * 按钮
- */
-
-import VanLoading from 'packages/loading';
-
-const ALLOWED_SIZE = ['mini', 'small', 'normal', 'large'];
-const ALLOWED_TYPE = ['default', 'danger', 'primary'];
-
-export default {
- name: 'van-button',
-
- components: {
- 'van-loading': VanLoading
- },
-
- props: {
- disabled: Boolean,
- loading: Boolean,
- block: Boolean,
- bottomAction: Boolean,
- tag: {
- type: String,
- default: 'button'
- },
- nativeType: String,
- type: {
- type: String,
- default: 'default',
- validator(value) {
- return ALLOWED_TYPE.indexOf(value) > -1;
- }
- },
- size: {
- type: String,
- default: 'normal',
- validator(value) {
- return ALLOWED_SIZE.indexOf(value) > -1;
- }
- }
- },
-
- methods: {
- handleClick(e) {
- if (this.loading || this.disabled) return;
- this.$emit('click', e);
- }
- },
-
- render(h) {
- const { type, nativeType, size, disabled, loading, block, bottomAction } = this;
- const Tag = this.tag;
-
- return (
-
- {
- loading
- ?
-
- : null
- }
- {this.$slots.default}
-
- );
- }
-};
diff --git a/packages/card/CHANGELOG.md b/packages/card/CHANGELOG.md
deleted file mode 100644
index e88c472b3..000000000
--- a/packages/card/CHANGELOG.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## 0.0.2 (2017-01-20)
-
-* 改了bug A
-* 加了功能B
-
-## 0.0.1 (2017-01-10)
-
-* 第一版
diff --git a/packages/card/README.md b/packages/card/README.md
deleted file mode 100644
index 4c6172563..000000000
--- a/packages/card/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# @youzan/<%= name %>
-
-!!! 请在此处填写你的文档最简单描述 !!!
-
-[![version][version-image]][download-url]
-[![download][download-image]][download-url]
-
-[version-image]: http://npm.qima-inc.com/badge/v/@youzan/<%= name %>.svg?style=flat-square
-[download-image]: http://npm.qima-inc.com/badge/d/@youzan/<%= name %>.svg?style=flat-square
-[download-url]: http://npm.qima-inc.com/package/@youzan/<%= name %>
-
-## Demo
-
-## Usage
-
-## API
-
-| 参数 | 说明 | 类型 | 默认值 | 可选值 |
-|-----------|-----------|-----------|-------------|-------------|
-| className | 自定义额外类名 | string | '' | '' |
-
-
-
-
-## License
-[MIT](https://opensource.org/licenses/MIT)
diff --git a/packages/card/index.js b/packages/card/index.js
deleted file mode 100644
index 84dfc6611..000000000
--- a/packages/card/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import Card from './src/card';
-
-export default Card;
diff --git a/packages/card/src/card.vue b/packages/card/index.vue
similarity index 100%
rename from packages/card/src/card.vue
rename to packages/card/index.vue
diff --git a/packages/card/package.json b/packages/card/package.json
deleted file mode 100644
index 4e0bc7d28..000000000
--- a/packages/card/package.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "name": "@youzan/van-card",
- "version": "0.0.1",
- "description": "card component",
- "main": "./index.js",
- "author": "zhangmin ",
- "license": "MIT",
- "devDependencies": {},
- "dependencies": {}
-}
diff --git a/packages/cell-group/index.js b/packages/cell-group/index.js
deleted file mode 100644
index ccbfd514e..000000000
--- a/packages/cell-group/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import CellGroup from '../cell/src/cell-group';
-
-export default CellGroup;
diff --git a/packages/cell/src/cell-group.vue b/packages/cell-group/index.vue
similarity index 100%
rename from packages/cell/src/cell-group.vue
rename to packages/cell-group/index.vue
diff --git a/packages/cell-swipe/components/CellSwipe.vue b/packages/cell-swipe/components/CellSwipe.vue
deleted file mode 100644
index 777402261..000000000
--- a/packages/cell-swipe/components/CellSwipe.vue
+++ /dev/null
@@ -1,142 +0,0 @@
-
-
-
-
-
-
diff --git a/packages/cell-swipe/index.js b/packages/cell-swipe/index.js
deleted file mode 100644
index bb9559c21..000000000
--- a/packages/cell-swipe/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import CellSwipe from './components/CellSwipe.vue'
-export default CellSwipe;
diff --git a/packages/cell-swipe/index.vue b/packages/cell-swipe/index.vue
new file mode 100644
index 000000000..7ab4ce705
--- /dev/null
+++ b/packages/cell-swipe/index.vue
@@ -0,0 +1,121 @@
+
+
+
+
+
diff --git a/packages/cell/CHANGELOG.md b/packages/cell/CHANGELOG.md
deleted file mode 100644
index e88c472b3..000000000
--- a/packages/cell/CHANGELOG.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## 0.0.2 (2017-01-20)
-
-* 改了bug A
-* 加了功能B
-
-## 0.0.1 (2017-01-10)
-
-* 第一版
diff --git a/packages/cell/README.md b/packages/cell/README.md
deleted file mode 100644
index 4c6172563..000000000
--- a/packages/cell/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# @youzan/<%= name %>
-
-!!! 请在此处填写你的文档最简单描述 !!!
-
-[![version][version-image]][download-url]
-[![download][download-image]][download-url]
-
-[version-image]: http://npm.qima-inc.com/badge/v/@youzan/<%= name %>.svg?style=flat-square
-[download-image]: http://npm.qima-inc.com/badge/d/@youzan/<%= name %>.svg?style=flat-square
-[download-url]: http://npm.qima-inc.com/package/@youzan/<%= name %>
-
-## Demo
-
-## Usage
-
-## API
-
-| 参数 | 说明 | 类型 | 默认值 | 可选值 |
-|-----------|-----------|-----------|-------------|-------------|
-| className | 自定义额外类名 | string | '' | '' |
-
-
-
-
-## License
-[MIT](https://opensource.org/licenses/MIT)
diff --git a/packages/cell/index.js b/packages/cell/index.js
deleted file mode 100644
index aa54ff040..000000000
--- a/packages/cell/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import Cell from './src/cell';
-
-export default Cell;
diff --git a/packages/cell/src/cell.vue b/packages/cell/index.vue
similarity index 78%
rename from packages/cell/src/cell.vue
rename to packages/cell/index.vue
index afd997c80..3bcf14a33 100644
--- a/packages/cell/src/cell.vue
+++ b/packages/cell/index.vue
@@ -1,8 +1,8 @@
-
+
@@ -14,10 +14,10 @@
@@ -42,12 +42,6 @@ export default {
label: String,
isLink: Boolean,
required: Boolean
- },
-
- methods: {
- handleClick() {
- this.$emit('click');
- }
}
};
diff --git a/packages/cell/package.json b/packages/cell/package.json
deleted file mode 100644
index 0acbfd4e2..000000000
--- a/packages/cell/package.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "name": "@youzan/van-cell",
- "version": "0.0.1",
- "description": "cell component",
- "main": "./index.js",
- "author": "zhangmin ",
- "license": "MIT",
- "devDependencies": {},
- "dependencies": {}
-}
diff --git a/packages/checkbox-group/index.js b/packages/checkbox-group/index.js
deleted file mode 100644
index b6265c833..000000000
--- a/packages/checkbox-group/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import CheckboxGroup from 'packages/checkbox/src/checkbox-group';
-
-export default CheckboxGroup;
diff --git a/packages/checkbox/src/checkbox-group.vue b/packages/checkbox-group/index.vue
similarity index 100%
rename from packages/checkbox/src/checkbox-group.vue
rename to packages/checkbox-group/index.vue
diff --git a/packages/checkbox/CHANGELOG.md b/packages/checkbox/CHANGELOG.md
deleted file mode 100644
index e88c472b3..000000000
--- a/packages/checkbox/CHANGELOG.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## 0.0.2 (2017-01-20)
-
-* 改了bug A
-* 加了功能B
-
-## 0.0.1 (2017-01-10)
-
-* 第一版
diff --git a/packages/checkbox/README.md b/packages/checkbox/README.md
deleted file mode 100644
index 4c6172563..000000000
--- a/packages/checkbox/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# @youzan/<%= name %>
-
-!!! 请在此处填写你的文档最简单描述 !!!
-
-[![version][version-image]][download-url]
-[![download][download-image]][download-url]
-
-[version-image]: http://npm.qima-inc.com/badge/v/@youzan/<%= name %>.svg?style=flat-square
-[download-image]: http://npm.qima-inc.com/badge/d/@youzan/<%= name %>.svg?style=flat-square
-[download-url]: http://npm.qima-inc.com/package/@youzan/<%= name %>
-
-## Demo
-
-## Usage
-
-## API
-
-| 参数 | 说明 | 类型 | 默认值 | 可选值 |
-|-----------|-----------|-----------|-------------|-------------|
-| className | 自定义额外类名 | string | '' | '' |
-
-
-
-
-## License
-[MIT](https://opensource.org/licenses/MIT)
diff --git a/packages/checkbox/index.js b/packages/checkbox/index.js
deleted file mode 100644
index d4bcea5a2..000000000
--- a/packages/checkbox/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import Checkbox from './src/checkbox';
-
-export default Checkbox;
diff --git a/packages/checkbox/src/checkbox.vue b/packages/checkbox/index.vue
similarity index 98%
rename from packages/checkbox/src/checkbox.vue
rename to packages/checkbox/index.vue
index 816d5f6d1..1b31f0e1e 100644
--- a/packages/checkbox/src/checkbox.vue
+++ b/packages/checkbox/index.vue
@@ -23,7 +23,7 @@
diff --git a/packages/col/package.json b/packages/col/package.json
deleted file mode 100644
index 7dbfa2900..000000000
--- a/packages/col/package.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "name": "<%= name %>",
- "version": "<%= version %>",
- "description": "<%= description %>",
- "main": "./lib/index.js",
- "author": "<%= author %>",
- "license": "<%= license %>",
- "devDependencies": {},
- "dependencies": {}
-}
diff --git a/packages/col/src/col.vue b/packages/col/src/col.vue
deleted file mode 100644
index 51fa4c7dc..000000000
--- a/packages/col/src/col.vue
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-
-
-
diff --git a/packages/datetime-picker/CHANGELOG.md b/packages/datetime-picker/CHANGELOG.md
deleted file mode 100644
index e88c472b3..000000000
--- a/packages/datetime-picker/CHANGELOG.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## 0.0.2 (2017-01-20)
-
-* 改了bug A
-* 加了功能B
-
-## 0.0.1 (2017-01-10)
-
-* 第一版
diff --git a/packages/datetime-picker/README.md b/packages/datetime-picker/README.md
deleted file mode 100644
index 4c6172563..000000000
--- a/packages/datetime-picker/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# @youzan/<%= name %>
-
-!!! 请在此处填写你的文档最简单描述 !!!
-
-[![version][version-image]][download-url]
-[![download][download-image]][download-url]
-
-[version-image]: http://npm.qima-inc.com/badge/v/@youzan/<%= name %>.svg?style=flat-square
-[download-image]: http://npm.qima-inc.com/badge/d/@youzan/<%= name %>.svg?style=flat-square
-[download-url]: http://npm.qima-inc.com/package/@youzan/<%= name %>
-
-## Demo
-
-## Usage
-
-## API
-
-| 参数 | 说明 | 类型 | 默认值 | 可选值 |
-|-----------|-----------|-----------|-------------|-------------|
-| className | 自定义额外类名 | string | '' | '' |
-
-
-
-
-## License
-[MIT](https://opensource.org/licenses/MIT)
diff --git a/packages/datetime-picker/index.js b/packages/datetime-picker/index.js
deleted file mode 100644
index c6ad7f9b3..000000000
--- a/packages/datetime-picker/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import DateTimePicker from './src/datetime-picker';
-
-export default DateTimePicker;
diff --git a/packages/datetime-picker/src/datetime-picker.vue b/packages/datetime-picker/index.vue
similarity index 97%
rename from packages/datetime-picker/src/datetime-picker.vue
rename to packages/datetime-picker/index.vue
index 5569efd63..b0fc50386 100644
--- a/packages/datetime-picker/src/datetime-picker.vue
+++ b/packages/datetime-picker/index.vue
@@ -11,7 +11,7 @@
diff --git a/packages/datetime-picker/package.json b/packages/datetime-picker/package.json
deleted file mode 100644
index 7b747cbdf..000000000
--- a/packages/datetime-picker/package.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "name": "@youzan/van-datetime-picker",
- "version": "0.0.1",
- "description": "datetime picker component",
- "main": "./index.js",
- "author": "niunai ",
- "license": "MIT",
- "devDependencies": {},
- "dependencies": {}
-}
diff --git a/packages/deep-select/index.vue b/packages/deep-select/index.vue
new file mode 100644
index 000000000..410b6ae86
--- /dev/null
+++ b/packages/deep-select/index.vue
@@ -0,0 +1,85 @@
+
+
+
+
+
+ {{ item.text }}
+
+
+
+
+
+
+
diff --git a/packages/dialog/CHANGELOG.md b/packages/dialog/CHANGELOG.md
deleted file mode 100644
index e88c472b3..000000000
--- a/packages/dialog/CHANGELOG.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## 0.0.2 (2017-01-20)
-
-* 改了bug A
-* 加了功能B
-
-## 0.0.1 (2017-01-10)
-
-* 第一版
diff --git a/packages/dialog/README.md b/packages/dialog/README.md
deleted file mode 100644
index 4c6172563..000000000
--- a/packages/dialog/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# @youzan/<%= name %>
-
-!!! 请在此处填写你的文档最简单描述 !!!
-
-[![version][version-image]][download-url]
-[![download][download-image]][download-url]
-
-[version-image]: http://npm.qima-inc.com/badge/v/@youzan/<%= name %>.svg?style=flat-square
-[download-image]: http://npm.qima-inc.com/badge/d/@youzan/<%= name %>.svg?style=flat-square
-[download-url]: http://npm.qima-inc.com/package/@youzan/<%= name %>
-
-## Demo
-
-## Usage
-
-## API
-
-| 参数 | 说明 | 类型 | 默认值 | 可选值 |
-|-----------|-----------|-----------|-------------|-------------|
-| className | 自定义额外类名 | string | '' | '' |
-
-
-
-
-## License
-[MIT](https://opensource.org/licenses/MIT)
diff --git a/packages/dialog/dialog.vue b/packages/dialog/dialog.vue
new file mode 100644
index 000000000..7aec18626
--- /dev/null
+++ b/packages/dialog/dialog.vue
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
diff --git a/packages/dialog/index.js b/packages/dialog/index.js
index cb8dcd8d5..02df39c96 100644
--- a/packages/dialog/index.js
+++ b/packages/dialog/index.js
@@ -1,3 +1,62 @@
-import Dialog from './src/dialog.js';
+import Vue from 'vue';
+import DialogComponent from './dialog';
+
+let instance;
+
+const defaultConfig = {
+ value: true,
+ title: '',
+ message: '',
+ showCancelButton: false,
+ closeOnClickOverlay: false,
+ callback: action => {
+ instance[action === 'confirm' ? 'resolve' : 'reject'](action);
+ }
+};
+
+const initInstance = () => {
+ const DialogConstructor = Vue.extend(DialogComponent);
+ instance = new DialogConstructor({
+ el: document.createElement('div')
+ });
+
+ instance.$on('input', value => {
+ instance.value = value;
+ });
+
+ document.body.appendChild(instance.$el);
+};
+
+const Dialog = options => {
+ return new Promise((resolve, reject) => {
+ if (!instance) {
+ initInstance();
+ }
+
+ Object.assign(instance, {
+ resolve,
+ reject,
+ ...options
+ });
+ });
+};
+
+Dialog.alert = options => Dialog({
+ ...defaultConfig,
+ ...options
+});
+
+Dialog.confirm = options => Dialog({
+ ...defaultConfig,
+ showCancelButton: true,
+ ...options
+});
+
+Dialog.close = () => {
+ instance.value = false;
+};
export default Dialog;
+export {
+ Dialog
+};
diff --git a/packages/dialog/package.json b/packages/dialog/package.json
deleted file mode 100644
index dbbc335ff..000000000
--- a/packages/dialog/package.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "name": "@youzan/van-dialog",
- "version": "0.0.1",
- "description": "dialog component",
- "main": "./index.js",
- "author": "zhangmin ",
- "license": "MIT",
- "devDependencies": {},
- "dependencies": {}
-}
diff --git a/packages/dialog/src/dialog.js b/packages/dialog/src/dialog.js
deleted file mode 100644
index 962d8a950..000000000
--- a/packages/dialog/src/dialog.js
+++ /dev/null
@@ -1,99 +0,0 @@
-import Vue from 'vue';
-import Dialog from './dialog.vue';
-import merge from 'src/utils/merge';
-
-const DialogConstructor = Vue.extend(Dialog);
-
-let currentDialog;
-let instance;
-let dialogQueue = [];
-
-const defaultCallback = action => {
- /* istanbul ignore else */
- if (currentDialog) {
- if (currentDialog.resolve && action === 'confirm') {
- currentDialog.resolve(action);
- } else if (currentDialog.reject && action === 'cancel') {
- currentDialog.reject(action);
- }
- }
-};
-
-const initInstance = () => {
- instance = new DialogConstructor({
- el: document.createElement('div')
- });
-
- instance.callback = defaultCallback;
-};
-
-const showNextDialog = () => {
- if (!instance) {
- initInstance();
- }
-
- /* istanbul ignore else */
- if (!instance.value && dialogQueue.length > 0) {
- currentDialog = dialogQueue.shift();
-
- const options = currentDialog.options;
-
- for (const prop in options) {
- /* istanbul ignore else */
- if (options.hasOwnProperty(prop)) {
- instance[prop] = options[prop];
- }
- }
-
- if (options.callback === undefined) {
- instance.callback = defaultCallback;
- }
-
- document.body.appendChild(instance.$el);
-
- Vue.nextTick(() => {
- instance.value = true;
- });
- }
-};
-
-var DialogBox = options => {
- return new Promise((resolve, reject) => { // eslint-disable-line
- dialogQueue.push({
- options: merge({}, options),
- callback: options.callback,
- resolve: resolve,
- reject: reject
- });
-
- showNextDialog();
- });
-};
-
-DialogBox.alert = function(options) {
- return DialogBox(merge({
- type: 'alert',
- title: '',
- message: '',
- closeOnClickOverlay: false,
- showCancelButton: false
- }, options));
-};
-
-DialogBox.confirm = function(options) {
- return DialogBox(merge({
- type: 'confirm',
- title: '',
- message: '',
- closeOnClickOverlay: true,
- showCancelButton: true
- }, options));
-};
-
-DialogBox.close = function() {
- instance.value = false;
- dialogQueue = [];
- currentDialog = null;
-};
-
-export default DialogBox;
diff --git a/packages/dialog/src/dialog.vue b/packages/dialog/src/dialog.vue
deleted file mode 100644
index 47849b3eb..000000000
--- a/packages/dialog/src/dialog.vue
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
-
-
-
diff --git a/packages/express-way/Option.vue b/packages/express-way/Option.vue
new file mode 100644
index 000000000..c29521dfa
--- /dev/null
+++ b/packages/express-way/Option.vue
@@ -0,0 +1,32 @@
+
+
+
+
+
+ {{ data.postage_title }}
+ {{ data.postage }}
+
+
{{ data.postage_desc }}
+
{{ data.postage_warn_desc }}
+
+
+
+
+
diff --git a/packages/express-way/index.vue b/packages/express-way/index.vue
new file mode 100644
index 000000000..fcc72da4a
--- /dev/null
+++ b/packages/express-way/index.vue
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+ {{ currentOption.postage }}
+ {{ currentOption.postage_title }}
+
+
+
+
+
diff --git a/packages/field/CHANGELOG.md b/packages/field/CHANGELOG.md
deleted file mode 100644
index e88c472b3..000000000
--- a/packages/field/CHANGELOG.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## 0.0.2 (2017-01-20)
-
-* 改了bug A
-* 加了功能B
-
-## 0.0.1 (2017-01-10)
-
-* 第一版
diff --git a/packages/field/README.md b/packages/field/README.md
deleted file mode 100644
index 4c6172563..000000000
--- a/packages/field/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# @youzan/<%= name %>
-
-!!! 请在此处填写你的文档最简单描述 !!!
-
-[![version][version-image]][download-url]
-[![download][download-image]][download-url]
-
-[version-image]: http://npm.qima-inc.com/badge/v/@youzan/<%= name %>.svg?style=flat-square
-[download-image]: http://npm.qima-inc.com/badge/d/@youzan/<%= name %>.svg?style=flat-square
-[download-url]: http://npm.qima-inc.com/package/@youzan/<%= name %>
-
-## Demo
-
-## Usage
-
-## API
-
-| 参数 | 说明 | 类型 | 默认值 | 可选值 |
-|-----------|-----------|-----------|-------------|-------------|
-| className | 自定义额外类名 | string | '' | '' |
-
-
-
-
-## License
-[MIT](https://opensource.org/licenses/MIT)
diff --git a/packages/field/index.js b/packages/field/index.js
deleted file mode 100644
index 391f5272c..000000000
--- a/packages/field/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import Field from './src/field';
-
-export default Field;
diff --git a/packages/field/src/field.vue b/packages/field/index.vue
similarity index 67%
rename from packages/field/src/field.vue
rename to packages/field/index.vue
index f2c542e27..c2f32d3e9 100644
--- a/packages/field/src/field.vue
+++ b/packages/field/index.vue
@@ -9,7 +9,8 @@
'van-field--disabled': disabled,
'van-field--error': error,
'van-field--border': border,
- 'van-field--autosize': autosize
+ 'van-field--autosize': autosize,
+ 'van-field--has-icon': showIcon
}">
-
-
+ @columnChange="columnValueChange(index)"
+ />
@@ -33,7 +33,7 @@ export default {
name: 'van-picker',
components: {
- PickerColumn
+ [PickerColumn.name]: PickerColumn
},
props: {
diff --git a/packages/picker/package.json b/packages/picker/package.json
deleted file mode 100644
index d5e6c27a3..000000000
--- a/packages/picker/package.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "name": "@youzan/van-picker",
- "version": "0.0.1",
- "description": "picker component",
- "main": "./index.js",
- "author": "zhangmin