- {renderPreview(value, this.props)}
+ {renderPreview!(value, this.props)}
);
}
@@ -745,7 +710,7 @@ class Range extends React.Component {
return (
{
- this.dom = dom;
+ this.dom = dom!;
}}
{...others}
style={style}
@@ -762,6 +727,7 @@ class Range extends React.Component {
{this.isFixedWidth ? (
+ // @ts-expect-error value 存在 undefined 情况
) : (
diff --git a/components/range/view/scale.tsx b/components/range/view/scale.tsx
index c8202f7f5c..2f90ec7117 100644
--- a/components/range/view/scale.tsx
+++ b/components/range/view/scale.tsx
@@ -2,8 +2,9 @@ import classNames from 'classnames';
import React from 'react';
import PropTypes from 'prop-types';
import { inRange, getPercent } from '../utils';
+import type { RangeScaleProps } from '../types';
-export default class Scale extends React.Component {
+export default class Scale extends React.Component {
static propTypes = {
min: PropTypes.number,
max: PropTypes.number,
@@ -23,7 +24,7 @@ export default class Scale extends React.Component {
_renderItems() {
const { min, max, value, prefix, scales, rtl } = this.props;
- const items = [];
+ const items: React.ReactNode[] = [];
scales.forEach((scale, i) => {
const classes = classNames({
diff --git a/components/range/view/selected.tsx b/components/range/view/selected.tsx
index 2531de64ed..3e1f5d16a9 100644
--- a/components/range/view/selected.tsx
+++ b/components/range/view/selected.tsx
@@ -2,8 +2,9 @@ import classNames from 'classnames';
import React from 'react';
import PropTypes from 'prop-types';
import { getPercent } from '../utils';
+import type { RangeSelectedProps } from '../types';
-export default class Selected extends React.Component {
+export default class Selected extends React.Component {
static propTypes = {
min: PropTypes.number,
max: PropTypes.number,
@@ -106,7 +107,7 @@ export default class Selected extends React.Component {
}
render() {
- const { prefix, slider, reverse, rtl } = this.props;
+ const { prefix, slider, reverse } = this.props;
const classes = classNames({
[`${prefix}range-selected`]: true,
});
diff --git a/components/range/view/slider.tsx b/components/range/view/slider.tsx
index 8fa55649e6..0840ac5741 100644
--- a/components/range/view/slider.tsx
+++ b/components/range/view/slider.tsx
@@ -2,21 +2,23 @@ import React from 'react';
import classNames from 'classnames';
import PropTypes from 'prop-types';
import { getPercent } from '../utils';
+import type { RangeSliderProps } from '../types';
-function _getProps(min, max, value, rtl) {
+function _getProps(min: number, max: number, value: number, rtl: RangeSliderProps['rtl']) {
return {
style: {
left: rtl ? `${100 - getPercent(min, max, value)}%` : `${getPercent(min, max, value)}%`,
zIndex: 100,
},
'aria-valuenow': value,
- 'aria-valuetext': value,
+ // @ts-expect-error aria-valuetext 应该是一个 string 类型
+ 'aria-valuetext': value as string,
'aria-valuemin': min,
'aria-valuemax': max,
};
}
-function Slider({ prefix, hasMovingClass, min, max, value, onKeyDown, rtl }) {
+function Slider({ prefix, hasMovingClass, min, max, value, onKeyDown, rtl }: RangeSliderProps) {
const classes = classNames({
[`${prefix}range-slider`]: true,
[`${prefix}range-slider-moving`]: hasMovingClass,
diff --git a/components/range/view/track.tsx b/components/range/view/track.tsx
index 61e7640341..b1b4820dc3 100644
--- a/components/range/view/track.tsx
+++ b/components/range/view/track.tsx
@@ -2,7 +2,7 @@ import classNames from 'classnames';
import React from 'react';
import PropTypes from 'prop-types';
-const Track = ({ prefix }) => {
+const Track = ({ prefix }: { prefix: string }) => {
const classes = classNames({
[`${prefix}range-track`]: true,
});