62 lines
1.4 KiB
Vue
62 lines
1.4 KiB
Vue
|
<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';
|
|||
|
|
|||
|
interface Value {
|
|||
|
value?: string;
|
|||
|
label?: string;
|
|||
|
}
|
|||
|
|
|||
|
export default defineComponent({
|
|||
|
setup() {
|
|||
|
const options = ref<SelectProps['options']>([
|
|||
|
{
|
|||
|
value: 'jack',
|
|||
|
label: 'Jack (100)',
|
|||
|
},
|
|||
|
{
|
|||
|
value: 'lucy',
|
|||
|
label: 'Lucy (101)',
|
|||
|
},
|
|||
|
]);
|
|||
|
const handleChange = (value: Value) => {
|
|||
|
console.log(value); // { key: "lucy", label: "Lucy (101)" }
|
|||
|
};
|
|||
|
return {
|
|||
|
value: ref<Value>({ value: 'lucy' }),
|
|||
|
options,
|
|||
|
handleChange,
|
|||
|
};
|
|||
|
},
|
|||
|
});
|
|||
|
</script>
|