mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-06 03:57:59 +08:00
Merge branch 'dev' into next
This commit is contained in:
commit
47a270effb
@ -109,7 +109,7 @@ export function getWebpackConfig(defaultConfig: WebpackConfig): WebpackConfig {
|
||||
// 如果是函数形式,可能并不仅仅是添加额外的处理流程,而是在原有流程上进行修改
|
||||
// 比如修改markdown-loader,添加options.enableMetaData
|
||||
if (typeof config === 'function') {
|
||||
return config(defaultConfig);
|
||||
return merge(defaultConfig, config(defaultConfig));
|
||||
}
|
||||
|
||||
return merge(defaultConfig, config);
|
||||
|
@ -379,7 +379,10 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
onConfirm(values) {
|
||||
this.value = values.map((item) => item.name).join('/');
|
||||
this.value = values
|
||||
.filter((item) => !!item)
|
||||
.map((item) => item.name)
|
||||
.join('/');
|
||||
this.showArea = false;
|
||||
},
|
||||
},
|
||||
@ -447,6 +450,14 @@ export default {
|
||||
| trigger `v2.5.2` | When to validate the form,can be set to `onChange`、`onBlur` | _string_ |
|
||||
| formatter `v2.5.3` | Format value before validate | _(value, rule) => any_ |
|
||||
|
||||
### validate-trigger
|
||||
|
||||
| Value | Description |
|
||||
| -------- | --------------------------------------------------------------- |
|
||||
| onSubmit | Trigger validation after submiting form |
|
||||
| onBlur | Trigger validation after submiting form or bluring input |
|
||||
| onChange | Trigger validation after submiting form or changing input value |
|
||||
|
||||
### Events
|
||||
|
||||
| Event | Description | Arguments |
|
||||
|
@ -18,7 +18,7 @@ app.use(Form);
|
||||
|
||||
### 基础用法
|
||||
|
||||
在表单中,每个 [Field 组件](#/zh-CN/field) 代表一个表单项,使用 Field 的`rules`属性定义校验规则
|
||||
在表单中,每个 [Field 组件](#/zh-CN/field) 代表一个表单项,使用 Field 的 `rules` 属性定义校验规则。
|
||||
|
||||
```html
|
||||
<van-form @submit="onSubmit">
|
||||
@ -63,7 +63,7 @@ export default {
|
||||
|
||||
### 校验规则
|
||||
|
||||
通过`rules`定义表单校验规则,可用字段见[下方表格](#/zh-CN/form#rule-shu-ju-jie-gou)
|
||||
通过 `rules` 定义表单校验规则,可用字段见[下方表格](#/zh-CN/form#rule-shu-ju-jie-gou)。
|
||||
|
||||
```html
|
||||
<van-form validate-first @failed="onFailed">
|
||||
@ -133,7 +133,7 @@ export default {
|
||||
|
||||
### 表单项类型 - 开关
|
||||
|
||||
在表单中使用 [Switch 组件](#/zh-CN/switch)
|
||||
在表单中使用 [Switch 组件](#/zh-CN/switch)。
|
||||
|
||||
```html
|
||||
<van-field name="switch" label="开关">
|
||||
@ -155,7 +155,7 @@ export default {
|
||||
|
||||
### 表单项类型 - 复选框
|
||||
|
||||
在表单中使用 [Checkbox 组件](#/zh-CN/checkbox)
|
||||
在表单中使用 [Checkbox 组件](#/zh-CN/checkbox)。
|
||||
|
||||
```html
|
||||
<van-field name="checkbox" label="复选框">
|
||||
@ -186,7 +186,7 @@ export default {
|
||||
|
||||
### 表单项类型 - 单选框
|
||||
|
||||
在表单中使用 [Radio 组件](#/zh-CN/radio)
|
||||
在表单中使用 [Radio 组件](#/zh-CN/radio)。
|
||||
|
||||
```html
|
||||
<van-field name="radio" label="单选框">
|
||||
@ -211,7 +211,7 @@ export default {
|
||||
|
||||
### 表单项类型 - 步进器
|
||||
|
||||
在表单中使用 [Stepper 组件](#/zh-CN/stepper)
|
||||
在表单中使用 [Stepper 组件](#/zh-CN/stepper)。
|
||||
|
||||
```html
|
||||
<van-field name="stepper" label="步进器">
|
||||
@ -233,7 +233,7 @@ export default {
|
||||
|
||||
### 表单项类型 - 评分
|
||||
|
||||
在表单中使用 [Rate 组件](#/zh-CN/rate)
|
||||
在表单中使用 [Rate 组件](#/zh-CN/rate)。
|
||||
|
||||
```html
|
||||
<van-field name="rate" label="评分">
|
||||
@ -255,7 +255,7 @@ export default {
|
||||
|
||||
### 表单项类型 - 滑块
|
||||
|
||||
在表单中使用 [Slider 组件](#/zh-CN/slider)
|
||||
在表单中使用 [Slider 组件](#/zh-CN/slider)。
|
||||
|
||||
```html
|
||||
<van-field name="slider" label="滑块">
|
||||
@ -277,7 +277,7 @@ export default {
|
||||
|
||||
### 表单项类型 - 文件上传
|
||||
|
||||
在表单中使用 [Uploader 组件](#/zh-CN/uploader)
|
||||
在表单中使用 [Uploader 组件](#/zh-CN/uploader)。
|
||||
|
||||
```html
|
||||
<van-field name="uploader" label="文件上传">
|
||||
@ -299,7 +299,7 @@ export default {
|
||||
|
||||
### 表单项类型 - 选择器
|
||||
|
||||
在表单中使用 [Picker 组件](#/zh-CN/picker)
|
||||
在表单中使用 [Picker 组件](#/zh-CN/picker)。
|
||||
|
||||
```html
|
||||
<van-field
|
||||
@ -340,7 +340,7 @@ export default {
|
||||
|
||||
### 表单项类型 - 时间选择器
|
||||
|
||||
在表单中使用 [DatetimePicker 组件](#/zh-CN/datetime-picker)
|
||||
在表单中使用 [DatetimePicker 组件](#/zh-CN/datetime-picker)。
|
||||
|
||||
```html
|
||||
<van-field
|
||||
@ -380,7 +380,7 @@ export default {
|
||||
|
||||
### 表单项类型 - 省市区选择器
|
||||
|
||||
在表单中使用 [Area 组件](#/zh-CN/area)
|
||||
在表单中使用 [Area 组件](#/zh-CN/area)。
|
||||
|
||||
```html
|
||||
<van-field
|
||||
@ -412,7 +412,10 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
onConfirm(values) {
|
||||
this.value = values.map((item) => item.name).join('/');
|
||||
this.value = values
|
||||
.filter((item) => !!item)
|
||||
.map((item) => item.name)
|
||||
.join('/');
|
||||
this.showArea = false;
|
||||
},
|
||||
},
|
||||
@ -421,7 +424,7 @@ export default {
|
||||
|
||||
### 表单项类型 - 日历
|
||||
|
||||
在表单中使用 [Calendar 组件](#/zh-CN/calendar)
|
||||
在表单中使用 [Calendar 组件](#/zh-CN/calendar)。
|
||||
|
||||
```html
|
||||
<van-field
|
||||
@ -463,7 +466,7 @@ export default {
|
||||
| label-align | 表单项 label 对齐方式,可选值为 `center` `right` | _string_ | `left` |
|
||||
| input-align | 输入框对齐方式,可选值为 `center` `right` | _string_ | `left` |
|
||||
| error-message-align | 错误提示文案对齐方式,可选值为 `center` `right` | _string_ | `left` |
|
||||
| validate-trigger `v2.5.2` | 表单校验触发时机,可选值为 `onChange`、`onSubmit` | _string_ | `onBlur` |
|
||||
| validate-trigger `v2.5.2` | 表单校验触发时机,可选值为 `onChange`、`onSubmit`,详见下表 | _string_ | `onBlur` |
|
||||
| colon | 是否在 label 后面添加冒号 | _boolean_ | `false` |
|
||||
| validate-first | 是否在某一项校验不通过时停止校验 | _boolean_ | `false` |
|
||||
| scroll-to-error `v2.5.2` | 是否在提交表单且校验不通过时滚动至错误的表单项 | _boolean_ | `false` |
|
||||
@ -486,6 +489,16 @@ export default {
|
||||
| trigger `v2.5.2` | 本项规则的触发时机,可选值为`onChange`、`onBlur` | _string_ |
|
||||
| formatter `v2.5.3` | 格式化函数,将表单项的值转换后进行校验 | _(value, rule) => any_ |
|
||||
|
||||
### validate-trigger 可选值
|
||||
|
||||
通过 `validate-trigger` 属性可以自定义表单校验的触发时机。
|
||||
|
||||
| 值 | 描述 |
|
||||
| -------- | ------------------------------------ |
|
||||
| onSubmit | 仅在提交表单时触发校验 |
|
||||
| onBlur | 在提交表单和输入框失焦时触发校验 |
|
||||
| onChange | 在提交表单和输入框内容变化时触发校验 |
|
||||
|
||||
### Events
|
||||
|
||||
| 事件名 | 说明 | 回调参数 |
|
||||
|
@ -52,7 +52,10 @@ export default {
|
||||
|
||||
methods: {
|
||||
onConfirm(values) {
|
||||
this.value = values.map((item) => item.name).join('/');
|
||||
this.value = values
|
||||
.filter((item) => !!item)
|
||||
.map((item) => item.name)
|
||||
.join('/');
|
||||
this.showArea = false;
|
||||
},
|
||||
|
||||
|
@ -37,16 +37,18 @@ Locale.add(messages);
|
||||
|
||||
Current supported languages:
|
||||
|
||||
| Language | Filename |
|
||||
| ------------------------ | -------- |
|
||||
| Chinese | zh-CN |
|
||||
| Traditional Chinese (HK) | zh-HK |
|
||||
| Traditional Chinese (TW) | zh-TW |
|
||||
| English | en-US |
|
||||
| Turkish | tr-TR |
|
||||
| Spanish (Spain) | es-ES |
|
||||
| Japanese | ja-JP |
|
||||
| Romanian | ro-RO |
|
||||
| Norwegian | nb-NO |
|
||||
| Language | Filename |
|
||||
| ------------------------ | ------------ |
|
||||
| Chinese | zh-CN |
|
||||
| Traditional Chinese (HK) | zh-HK |
|
||||
| Traditional Chinese (TW) | zh-TW |
|
||||
| English | en-US |
|
||||
| German | de-DE |
|
||||
| German (formal) | de-DE-formal |
|
||||
| Norwegian | nb-NO |
|
||||
| Japanese | ja-JP |
|
||||
| Romanian | ro-RO |
|
||||
| Spanish (Spain) | es-ES |
|
||||
| Turkish | tr-TR |
|
||||
|
||||
> View all language configs [Here](https://github.com/youzan/vant/tree/dev/src/locale/lang).
|
||||
|
@ -37,17 +37,19 @@ Locale.add(messages);
|
||||
|
||||
目前支持的语言:
|
||||
|
||||
| 语言 | 文件名 |
|
||||
| -------------- | ------ |
|
||||
| 简体中文 | zh-CN |
|
||||
| 繁體中文(港) | zh-HK |
|
||||
| 繁體中文(台) | zh-TW |
|
||||
| 英语 | en-US |
|
||||
| 土耳其语 | tr-TR |
|
||||
| 西班牙语 | es-ES |
|
||||
| 日语 | ja-JP |
|
||||
| 罗马尼亚语 | ro-RO |
|
||||
| 挪威语 | nb-NO |
|
||||
| 语言 | 文件名 |
|
||||
| -------------- | ------------ |
|
||||
| 简体中文 | zh-CN |
|
||||
| 繁體中文(港) | zh-HK |
|
||||
| 繁體中文(台) | zh-TW |
|
||||
| 英语 | en-US |
|
||||
| 德语 | de-DE |
|
||||
| 德语 (正式) | de-DE-formal |
|
||||
| 土耳其语 | tr-TR |
|
||||
| 西班牙语 | es-ES |
|
||||
| 日语 | ja-JP |
|
||||
| 罗马尼亚语 | ro-RO |
|
||||
| 挪威语 | nb-NO |
|
||||
|
||||
> 在 [这里](https://github.com/youzan/vant/tree/dev/src/locale/lang) 查看所有的 i18n 配置文件。
|
||||
|
||||
|
77
src/locale/lang/de-DE-formal.ts
Normal file
77
src/locale/lang/de-DE-formal.ts
Normal file
@ -0,0 +1,77 @@
|
||||
export default {
|
||||
name: 'Name',
|
||||
tel: 'Telefon',
|
||||
save: 'Speichern',
|
||||
confirm: 'Bestätigen',
|
||||
cancel: 'Abbrechen',
|
||||
delete: 'Löschen',
|
||||
complete: 'Complete',
|
||||
loading: 'Laden...',
|
||||
telEmpty: 'Bitte füllen Sie das Telefon aus',
|
||||
nameEmpty: 'Bitte geben Sie den Name an',
|
||||
nameInvalid: 'Ungültiger Name',
|
||||
confirmDelete: 'Sind Sie sicher, dass Sie löschen möchten?',
|
||||
telInvalid: 'Ungültige Telefonnummer',
|
||||
vanCalendar: {
|
||||
end: 'Ende',
|
||||
start: 'Start',
|
||||
title: 'Kalender',
|
||||
startEnd: 'Start/Ende',
|
||||
weekdays: ['So', 'Mo', 'Di', 'Mo', 'Do', 'Fr', 'Sa'],
|
||||
monthTitle: (year: number, month: number) => `${year}/${month}`,
|
||||
rangePrompt: (maxRange: number) => `Wähle nicht mehr als ${maxRange} Tage`,
|
||||
},
|
||||
vanContactCard: {
|
||||
addText: 'Kontaktinformationen hinzufügen',
|
||||
},
|
||||
vanContactList: {
|
||||
addText: 'Neuen Kontakt hinzufügen',
|
||||
},
|
||||
vanPagination: {
|
||||
prev: 'Vorherige',
|
||||
next: 'Nächste',
|
||||
},
|
||||
vanPullRefresh: {
|
||||
pulling: 'Zum Aktualisieren herunterziehen...',
|
||||
loosing: 'Loslassen zum Aktualisieren...',
|
||||
},
|
||||
vanSubmitBar: {
|
||||
label: 'Total:',
|
||||
},
|
||||
vanCoupon: {
|
||||
unlimited: 'Unbegrenzt',
|
||||
discount: (discount: number) => `${discount * 10}% Rabatt`,
|
||||
condition: (condition: number) => `Mindestens ${condition}`,
|
||||
},
|
||||
vanCouponCell: {
|
||||
title: 'Coupon',
|
||||
tips: 'Keine Coupons',
|
||||
count: (count: number) => `Sie haben ${count} Coupons`,
|
||||
},
|
||||
vanCouponList: {
|
||||
empty: 'Keine Coupons',
|
||||
exchange: 'Austauschen',
|
||||
close: 'Schließen',
|
||||
enable: 'Verfügbar',
|
||||
disabled: 'Nicht verfügbar',
|
||||
placeholder: 'Couponcode',
|
||||
},
|
||||
vanAddressEdit: {
|
||||
area: 'Standort',
|
||||
postal: 'PLZ',
|
||||
areaEmpty: 'Bitte geben Sie Ihren Standort an',
|
||||
addressEmpty: 'Adresse darf nicht leer sein',
|
||||
postalEmpty: 'Falsche Postleitzahl',
|
||||
defaultAddress: 'Als Standardadresse festgelegen',
|
||||
telPlaceholder: 'Telefon',
|
||||
namePlaceholder: 'Name',
|
||||
areaPlaceholder: 'Ort',
|
||||
},
|
||||
vanAddressEditDetail: {
|
||||
label: 'Adresse',
|
||||
placeholder: 'Adresse',
|
||||
},
|
||||
vanAddressList: {
|
||||
add: 'Neue Adresse hinzufügen',
|
||||
},
|
||||
};
|
77
src/locale/lang/de-DE.ts
Normal file
77
src/locale/lang/de-DE.ts
Normal file
@ -0,0 +1,77 @@
|
||||
export default {
|
||||
name: 'Name',
|
||||
tel: 'Telefon',
|
||||
save: 'Speichern',
|
||||
confirm: 'Bestätigen',
|
||||
cancel: 'Abbrechen',
|
||||
delete: 'Löschen',
|
||||
complete: 'Complete',
|
||||
loading: 'Laden...',
|
||||
telEmpty: 'Bitte das Telefon ausfüllen',
|
||||
nameEmpty: 'Bitte den Name angeben',
|
||||
nameInvalid: 'Ungültiger Name',
|
||||
confirmDelete: 'Bist du sicher, dass du löschen möchtest?',
|
||||
telInvalid: 'Ungültige Telefonnummer',
|
||||
vanCalendar: {
|
||||
end: 'Ende',
|
||||
start: 'Start',
|
||||
title: 'Kalender',
|
||||
startEnd: 'Start/Ende',
|
||||
weekdays: ['So', 'Mo', 'Di', 'Mo', 'Do', 'Fr', 'Sa'],
|
||||
monthTitle: (year: number, month: number) => `${year}/${month}`,
|
||||
rangePrompt: (maxRange: number) => `Wähle nicht mehr als ${maxRange} Tage`,
|
||||
},
|
||||
vanContactCard: {
|
||||
addText: 'Kontaktinformationen hinzufügen',
|
||||
},
|
||||
vanContactList: {
|
||||
addText: 'Neuen Kontakt hinzufügen',
|
||||
},
|
||||
vanPagination: {
|
||||
prev: 'Vorherige',
|
||||
next: 'Nächste',
|
||||
},
|
||||
vanPullRefresh: {
|
||||
pulling: 'Zum Aktualisieren herunterziehen...',
|
||||
loosing: 'Loslassen zum Aktualisieren...',
|
||||
},
|
||||
vanSubmitBar: {
|
||||
label: 'Total:',
|
||||
},
|
||||
vanCoupon: {
|
||||
unlimited: 'Unbegrenzt',
|
||||
discount: (discount: number) => `${discount * 10}% Rabatt`,
|
||||
condition: (condition: number) => `Mindestens ${condition}`,
|
||||
},
|
||||
vanCouponCell: {
|
||||
title: 'Coupon',
|
||||
tips: 'Keine Coupons',
|
||||
count: (count: number) => `Du hast ${count} Coupons`,
|
||||
},
|
||||
vanCouponList: {
|
||||
empty: 'Keine Coupons',
|
||||
exchange: 'Austauschen',
|
||||
close: 'Schließen',
|
||||
enable: 'Verfügbar',
|
||||
disabled: 'Nicht verfügbar',
|
||||
placeholder: 'Couponcode',
|
||||
},
|
||||
vanAddressEdit: {
|
||||
area: 'Standort',
|
||||
postal: 'PLZ',
|
||||
areaEmpty: 'Bitte deinen Ort angeben',
|
||||
addressEmpty: 'Adresse darf nicht leer sein',
|
||||
postalEmpty: 'Falsche Postleitzahl',
|
||||
defaultAddress: 'Als Standardadresse festgelegen',
|
||||
telPlaceholder: 'Telefon',
|
||||
namePlaceholder: 'Name',
|
||||
areaPlaceholder: 'Ort',
|
||||
},
|
||||
vanAddressEditDetail: {
|
||||
label: 'Adresse',
|
||||
placeholder: 'Adresse',
|
||||
},
|
||||
vanAddressList: {
|
||||
add: 'Neue Adresse hinzufügen',
|
||||
},
|
||||
};
|
@ -130,6 +130,14 @@ export default {
|
||||
|
||||
## 常见问题
|
||||
|
||||
### PullReresh 的内容未填满屏幕时,只有一部分区域可以下拉?
|
||||
|
||||
默认情况下,下拉区域的高度是和内容高度保持一致的,如果需要让下拉区域始终为全屏,可以给 PullRefresh 设置一个与屏幕大小相等的最小高度:
|
||||
|
||||
```html
|
||||
<van-pull-refresh style="min-height: 100vh;" />
|
||||
```
|
||||
|
||||
### 在桌面端无法操作组件?
|
||||
|
||||
参见[在桌面端使用](#/zh-CN/quickstart#zai-zhuo-mian-duan-shi-yong)。
|
||||
|
Loading…
x
Reference in New Issue
Block a user