import PropTypes from '../_util/vue-types' import { initDefaultProps, getOptionProps } from '../_util/props-util' import VcRate from '../vc-rate' import Icon from '../icon' export const RateProps = { prefixCls: PropTypes.string, count: PropTypes.number, value: PropTypes.value, defaultValue: PropTypes.value, allowHalf: PropTypes.bool, allowClear: PropTypes.bool, disabled: PropTypes.bool, character: PropTypes.any, autoFocus: PropTypes.bool, } export default { name: 'ARate', model: { prop: 'value', event: 'change', }, props: initDefaultProps(RateProps, { prefixCls: 'ant-rate', }), methods: { focus () { this.$refs.refRate.focus() }, blur () { this.$refs.refRate.blur() }, }, render () { const { character, ...restProps } = getOptionProps(this) const slotCharacter = this.$slots.character const rateProps = { props: { character, ...restProps, }, on: this.$listeners, ref: 'refRate', } const slotCharacterHtml = slotCharacter !== undefined ? ( ) : return ( { character === undefined ? slotCharacterHtml : null } ) }, }