mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-08-07 04:59:46 +08:00
[Improvement] Area: add reset method (#1427)
This commit is contained in:
parent
e34c940063
commit
0718339c81
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<demo-section>
|
<demo-section>
|
||||||
<demo-block :title="$t('basicUsage')">
|
<demo-block :title="$t('basicUsage')">
|
||||||
<van-area :area-list="$t('areaList')" />
|
<van-area ref="area" :area-list="$t('areaList')" />
|
||||||
</demo-block>
|
</demo-block>
|
||||||
|
|
||||||
<demo-block :title="$t('title2')">
|
<demo-block :title="$t('title2')">
|
||||||
@ -33,6 +33,9 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
|
setTimeout(() => {
|
||||||
|
this.$refs.area.reset();
|
||||||
|
}, 3000);
|
||||||
return {
|
return {
|
||||||
value: '330302'
|
value: '330302'
|
||||||
};
|
};
|
||||||
|
@ -57,6 +57,14 @@ Set `columns-num` with 2, you'll have a 2 level picker.
|
|||||||
| cancel | triggers when clicking the cancel button | - |
|
| cancel | triggers when clicking the cancel button | - |
|
||||||
| change | Triggered when current option changed | Picker instance, current values,column index |
|
| change | Triggered when current option changed | Picker instance, current values,column index |
|
||||||
|
|
||||||
|
### Methods
|
||||||
|
|
||||||
|
Use ref to get area instance and call instance methods
|
||||||
|
|
||||||
|
| Name | Attribute | Return value | Description |
|
||||||
|
|-----------|-----------|-----------|-------------|
|
||||||
|
| reset | - | - | Reset all options |
|
||||||
|
|
||||||
### Data Structure
|
### Data Structure
|
||||||
|
|
||||||
#### areaList
|
#### areaList
|
||||||
|
@ -154,6 +154,11 @@ export default create({
|
|||||||
|
|
||||||
getValues() {
|
getValues() {
|
||||||
return this.$refs.picker ? this.$refs.picker.getValues() : [];
|
return this.$refs.picker ? this.$refs.picker.getValues() : [];
|
||||||
|
},
|
||||||
|
|
||||||
|
reset() {
|
||||||
|
this.code = '';
|
||||||
|
this.setValues();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -87,6 +87,69 @@ exports[`change option 3`] = `
|
|||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
exports[`reset method 1`] = `
|
||||||
|
<div class="van-picker van-area">
|
||||||
|
<div class="van-hairline--top-bottom van-picker__toolbar">
|
||||||
|
<div class="van-picker__cancel">取消</div>
|
||||||
|
<!---->
|
||||||
|
<div class="van-picker__confirm">确认</div>
|
||||||
|
</div>
|
||||||
|
<!---->
|
||||||
|
<div class="van-picker__columns" style="height: 220px;">
|
||||||
|
<div class="van-picker-column" style="height: 220px;">
|
||||||
|
<ul style="line-height: 44px;">
|
||||||
|
<li class="van-ellipsis van-picker-column__item">北京市</li>
|
||||||
|
<li class="van-ellipsis van-picker-column__item van-picker-column__item--selected">天津市</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="van-picker-column" style="height: 220px;">
|
||||||
|
<ul style="line-height: 44px;">
|
||||||
|
<li class="van-ellipsis van-picker-column__item">天津市</li>
|
||||||
|
<li class="van-ellipsis van-picker-column__item van-picker-column__item--selected">县</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="van-picker-column" style="height: 220px;">
|
||||||
|
<ul style="line-height: 44px;">
|
||||||
|
<li class="van-ellipsis van-picker-column__item van-picker-column__item--selected">蓟县</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="van-hairline--top-bottom van-picker__frame" style="height: 44px;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
|
||||||
|
exports[`reset method 2`] = `
|
||||||
|
<div class="van-picker van-area">
|
||||||
|
<div class="van-hairline--top-bottom van-picker__toolbar">
|
||||||
|
<div class="van-picker__cancel">取消</div>
|
||||||
|
<!---->
|
||||||
|
<div class="van-picker__confirm">确认</div>
|
||||||
|
</div>
|
||||||
|
<!---->
|
||||||
|
<div class="van-picker__columns" style="height: 220px;">
|
||||||
|
<div class="van-picker-column" style="height: 220px;">
|
||||||
|
<ul style="line-height: 44px;">
|
||||||
|
<li class="van-ellipsis van-picker-column__item van-picker-column__item--selected">北京市</li>
|
||||||
|
<li class="van-ellipsis van-picker-column__item">天津市</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="van-picker-column" style="height: 220px;">
|
||||||
|
<ul style="line-height: 44px;">
|
||||||
|
<li class="van-ellipsis van-picker-column__item van-picker-column__item--selected">北京市</li>
|
||||||
|
<li class="van-ellipsis van-picker-column__item">县</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="van-picker-column" style="height: 220px;">
|
||||||
|
<ul style="line-height: 44px;">
|
||||||
|
<li class="van-ellipsis van-picker-column__item van-picker-column__item--selected">东城区</li>
|
||||||
|
<li class="van-ellipsis van-picker-column__item">西城区</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="van-hairline--top-bottom van-picker__frame" style="height: 44px;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
|
||||||
exports[`watch areaList & code 1`] = `
|
exports[`watch areaList & code 1`] = `
|
||||||
<div class="van-picker van-area">
|
<div class="van-picker van-area">
|
||||||
<div class="van-hairline--top-bottom van-picker__toolbar">
|
<div class="van-hairline--top-bottom van-picker__toolbar">
|
||||||
|
@ -64,8 +64,25 @@ test('getValues method', () => {
|
|||||||
const wrapper = mount(Area, {
|
const wrapper = mount(Area, {
|
||||||
propsData: {
|
propsData: {
|
||||||
areaList
|
areaList
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
expect(this.getValues()).toEqual([]);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(wrapper.vm.getValues()).toEqual(firstOption);
|
expect(wrapper.vm.getValues()).toEqual(firstOption);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('reset method', async() => {
|
||||||
|
const wrapper = mount(Area, {
|
||||||
|
propsData: {
|
||||||
|
areaList,
|
||||||
|
value: '120225'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
await later();
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
wrapper.vm.reset();
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
@ -55,6 +55,14 @@ Vue.use(Area);
|
|||||||
| cancel | 点击取消按钮时 | - |
|
| cancel | 点击取消按钮时 | - |
|
||||||
| change | 选项改变时触发 | Picker 实例,所有列选中值,当前列对应的索引 |
|
| change | 选项改变时触发 | Picker 实例,所有列选中值,当前列对应的索引 |
|
||||||
|
|
||||||
|
### 方法
|
||||||
|
|
||||||
|
通过 ref 可以获取到 area 实例并调用实例方法
|
||||||
|
|
||||||
|
| 方法名 | 参数 | 返回值 | 介绍 |
|
||||||
|
|-----------|-----------|-----------|-------------|
|
||||||
|
| reset | - | - | 重置所有选项到第一项 |
|
||||||
|
|
||||||
### 数据格式
|
### 数据格式
|
||||||
|
|
||||||
#### 省市县列表数据格式
|
#### 省市县列表数据格式
|
||||||
|
Loading…
x
Reference in New Issue
Block a user