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 <Statistic
ref="statistic" ref="statistic"
{...{ {...{
props: { ...this.$props,
...this.$props, valueRender: this.valueRenderHtml,
valueRender: this.valueRenderHtml, formatter: this.formatCountdown,
formatter: this.formatCountdown,
},
}} }}
/> />
); );

View File

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

View File

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