import generateSelector, { selectorPropTypes } from '../Base/BaseSelector'; import { toTitle } from '../util'; import { getOptionProps } from '../../../_util/props-util'; import { createRef } from '../util'; const Selector = generateSelector('single'); const SingleSelector = { name: 'SingleSelector', props: selectorPropTypes(), created() { this.selectorRef = createRef(); }, methods: { focus() { this.selectorRef.current.focus(); }, blur() { this.selectorRef.current.blur(); }, renderSelection() { const { selectorValueList, placeholder, prefixCls } = this.$props; let innerNode; if (selectorValueList.length) { const { label, value } = selectorValueList[0]; innerNode = ( {label || value} ); } else { innerNode = ( {placeholder} ); } return {innerNode}; }, }, render() { const props = { props: { ...getOptionProps(this), renderSelection: this.renderSelection, }, on: this.$listeners, directives: [ { name: 'ant-ref', value: this.selectorRef, }, ], }; return ; }, }; export default SingleSelector;