新手,这是我的第一个 stackoverflow 问题,如果这是一个格式不正确的问题,我们深表歉意。
我正在使用 React 并使用用户定义的输入生成 SVG。我试图将用户单位定义为 mm 而不是默认的 px,但我似乎找不到正确的语法来使用 props 作为高度/宽度值并同时设置单位。我目前有由道具设置的宽度/高度值,如果我给出一个固定值(例如 15 毫米),我可以成功定义单位,但我不能同时做这两个。
// app.js
...
state = {
svgWidth: 200,
svgHeight: 200,
};
handleChange = (e) => {
const name = e.target.id;
const value = parseFloat(e.target.value
this.setState({ [name]: value });
};
...
<Inputs
{...this.state}
handleChange={this.handleChange}
/>
<SVG
{...this.state}
/>
//inputs.js
...
<TextField
id="svgWidth"
value={props.svgWidth}
onChange={handleChange}
/>
<TextField
id="svgHeight"
value={props.svgHeight}
onChange={handleChange}
/>
// svg.js
...
<svg width={props.svgWidth} height={props.svgHeight}>
...
</svg>