Skip to content

Commit 2d75837

Browse files
committed
feat: select 组件 on-before-change 配置项增家回调参数
1 parent a152fde commit 2d75837

File tree

4 files changed

+13
-34
lines changed

4 files changed

+13
-34
lines changed

docs/components/select.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,10 +129,11 @@
129129
<script lang="ts" setup>
130130
import { ref } from 'vue'
131131
import { FConfirmBox } from 'fighting-design'
132+
import type { SelectBeforeChange } from 'fighting-design'
132133
133134
const value4 = ref('')
134135
135-
const onBeforeChange = (): Promise<boolean> => {
136+
const onBeforeChange: SelectBeforeChange = (value, label): Promise<boolean> => {
136137
return new Promise(resolve => {
137138
FConfirmBox({
138139
title: '标题',
@@ -222,7 +223,10 @@ type SelectChange = (
222223
### SelectBeforeChange
223224
224225
```ts
225-
type SelectBeforeChange = () => Promise<boolean>
226+
type SelectBeforeChange = (
227+
value: SelectModelValue,
228+
label: SelectModelValue
229+
) => Promise<boolean>
226230
```
227231
228232
## Contributors

packages/fighting-design/option/src/option.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@
140140
* promise 返回一个布尔类型,为 true 代表值需要改变,为 false 代表取消改变
141141
*/
142142
if (parentInject.onBeforeChange) {
143-
const changeRes = await parentInject.onBeforeChange()
143+
const changeRes = await parentInject.onBeforeChange(currentValue, currentLabel)
144144
145145
if (!changeRes) {
146146
// 点击之后关闭

packages/fighting-design/select/src/interface.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,11 @@ export type SelectChange = (
1818

1919
/**
2020
* 值在改变之前的回调类型
21+
*
22+
* @param { string | number } value 需要改变的值
23+
* @param { string | number } label 需要改变的标签
2124
*/
22-
export type SelectBeforeChange = () => Promise<boolean>
25+
export type SelectBeforeChange = (value: SelectModelValue, label: SelectModelValue) => Promise<boolean>
2326

2427
/**
2528
* 提供给子组件注入的依赖项类型接口

start/src/App.vue

Lines changed: 2 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,3 @@
1-
<template>
2-
<f-select v-model="value3" placeholder="请选择……" :on-before-change="onBeforeChange">
3-
<f-option :value="1">香蕉</f-option>
4-
<f-option :value="2">苹果</f-option>
5-
<f-option :value="3">哈密瓜</f-option>
6-
<f-option :value="4">樱桃</f-option>
7-
</f-select>
8-
</template>
1+
<script lang="ts" setup></script>
92

10-
<script lang="ts" setup>
11-
import { ref } from 'vue'
12-
import { FConfirmBox } from 'fighting-design'
13-
14-
const value3 = ref('')
15-
16-
const onBeforeChange = (): Promise<boolean> => {
17-
return new Promise(resolve => {
18-
FConfirmBox({
19-
title: '标题',
20-
content: '这是内容',
21-
zIndex: 2000,
22-
onConfirm: () => {
23-
resolve(true)
24-
},
25-
onCancel: () => {
26-
resolve(false)
27-
}
28-
})
29-
})
30-
}
31-
</script>
3+
<template></template>

0 commit comments

Comments
 (0)