vuecssuiant-designantdreactantantd-vueenterprisefrontendui-designvue-antdvue-antd-uivue3vuecomponent
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.4 KiB
56 lines
1.4 KiB
<docs> |
|
--- |
|
order: 4 |
|
title: |
|
zh-CN: 获得选项的文本 |
|
en-US: Get value of selected item |
|
--- |
|
|
|
## zh-CN |
|
|
|
默认情况下 `onChange` 里只能拿到 value,如果需要拿到选中的节点文本 label,可以使用 `labelInValue` 属性。 |
|
选中项的 label 会被包装到 value 中传递给 `onChange` 等函数,此时 value 是一个对象。 |
|
|
|
## en-US |
|
|
|
As a default behavior, the onChange callback can only get the value of the selected item. The labelInValue prop can be used to get the label property of the selected item. |
|
The label of the selected item will be packed as an object for passing to the onChange callback. |
|
|
|
</docs> |
|
|
|
<template> |
|
<a-select |
|
v-model:value="value" |
|
label-in-value |
|
style="width: 120px" |
|
:options="options" |
|
@change="handleChange" |
|
></a-select> |
|
</template> |
|
<script lang="ts"> |
|
import type { SelectProps } from 'ant-design-vue'; |
|
import { defineComponent, ref } from 'vue'; |
|
|
|
export default defineComponent({ |
|
setup() { |
|
const options = ref<SelectProps['options']>([ |
|
{ |
|
value: 'jack', |
|
label: 'Jack (100)', |
|
}, |
|
{ |
|
value: 'lucy', |
|
label: 'Lucy (101)', |
|
}, |
|
]); |
|
const handleChange: SelectProps['onChange'] = value => { |
|
console.log(value); // { key: "lucy", label: "Lucy (101)" } |
|
}; |
|
return { |
|
value: ref({ value: 'lucy' }), |
|
options, |
|
handleChange, |
|
}; |
|
}, |
|
}); |
|
</script>
|
|
|