perf: update statistic

pull/2439/head
tanjinzhou 2020-06-22 17:56:03 +08:00
parent 6fb936d985
commit e6b182474d
3 changed files with 14 additions and 14 deletions

View File

@ -77,11 +77,9 @@ export default {
<Statistic
ref="statistic"
{...{
props: {
...this.$props,
valueRender: this.valueRenderHtml,
formatter: this.formatCountdown,
},
...this.$props,
valueRender: this.valueRenderHtml,
formatter: this.formatCountdown,
}}
/>
);

View File

@ -1,7 +1,7 @@
import padEnd from 'lodash/padEnd';
import { createVNode } from 'vue';
export default (_, { attrs }) => {
const Number = (_, { attrs }) => {
const { value, formatter, precision, decimalSeparator, groupSeparator = '', prefixCls } = attrs;
let valueNode;
@ -46,5 +46,5 @@ export default (_, { attrs }) => {
return <span class={`${prefixCls}-content-value`}>{valueNode}</span>;
};
const name = 'AStatisticNumber';
export { name };
Number.name = 'AStatisticNumber';
export default Number;

View File

@ -17,6 +17,7 @@ export const StatisticProps = {
prefix: PropTypes.any,
suffix: PropTypes.any,
title: PropTypes.any,
onFinish: PropTypes.func,
};
export default {
@ -25,9 +26,6 @@ export default {
decimalSeparator: '.',
groupSeparator: ',',
}),
inject: {
configProvider: { default: () => ConfigConsumerProps },
},
setup() {
return {
@ -44,9 +42,13 @@ export default {
let prefix = getComponent(this, 'prefix');
let suffix = getComponent(this, 'suffix');
const formatter = getComponent(this, 'formatter', {}, false);
let valueNode = (
<StatisticNumber {...{ props: { ...this.$props, prefixCls, value, formatter } }} />
);
const props = {
...this.$props,
prefixCls,
value,
formatter,
};
let valueNode = <StatisticNumber {...props} />;
if (valueRender) {
valueNode = valueRender(valueNode);
}