这似乎是一个愚蠢的问题,但是我有一个函数,其中有一个for循环,因此我多次调用 <form >
<br></br>
<br></br>
<br></br>
<br></br>
<TextField
required
id="standard-required"
name="username"
label="Employee ID"
value={this.state.username}
onChange={this.handleChange}
margin="normal"
variant="outlined"
/>
<br></br>
<TextField style={{width:'14.5%'}}
name="password"
id="outlined-password-input"
label="Password"
// type="password"
type={this.state.showPassword ? 'text' : 'password'}
value={this.state.password}
isRequired="true"
onChange={this.handleChange}
autoComplete="current-password"
margin="normal"
variant="outlined"
InputProps={{
endAdornment: (
<InputAdornment position="end">
<IconButton
aria-label="Toggle password visibility"
onClick={this.handleClickShowPassword}
>
{this.state.showPassword ? <Visibility /> : <VisibilityOff />}
</IconButton>
</InputAdornment>
),
}}
/>
<br></br>
<br></br>
<FormControl variant="outlined" className={styles.formControl} required>
<InputLabel
ref={ref => {
this.InputLabelRef = ref;
}}
htmlFor="outlined-age-simple"
>
Role
</InputLabel>
<Select style={{ width: 220 }}
name="role"
value={this.state.role}
onChange={this.handleChange}
input={
<OutlinedInput
labelWidth={this.state.labelWidth}
name="name"
id="outlined-age-simple"
// value={this.state.role}
/>
}
>
<MenuItem value={'Doctor'}>Doctor</MenuItem>
<MenuItem value={'Nurse'}>Nurse</MenuItem>
<MenuItem value={'Receptionist'}>Receptionist</MenuItem>
</Select>
<br></br>
<br></br>
<Button variant="contained" style={{ backgroundColor: '#2699FB', width: 220 }} onClick={this.handleSubmit}><b style={{ color: '#fff' }}>login</b></Button>
</FormControl>
</form>
函数,就像这样:
qsTr
当然,根据文档function example() {
var groups = []
for (var g=0; g<io_data.length; g++) {
groups.push( { "label": qsTr("I/O Group"),
"value": String(g+1),
"headers": [
qsTr("Entry"),
qsTr("Panel"),
qsTr("Loop"),
qsTr("Device")
]
} )
}
}
,该函数可以获取对应的翻译,因此,如果我的for循环太大,那么我认为在这种情况下,每个变量都有一个更好的选择qsTr
翻译,例如:
qsTr
你们怎么看?
答案 0 :(得分:1)
最常见的标记字符串的方法是使用qsTr()函数。例如:
Text {
id: txt1;
text: qsTr("Back");
}
此代码使“后退”成为翻译文件中的关键条目。在运行时,翻译系统查找关键字“ Back”,然后获取当前系统区域设置的相应翻译值。结果将返回到text属性,并且用户界面将显示当前语言环境的相应“ Back”翻译。
在您的情况下,将创建5个关键条目:“ I / O组”,“条目”,“面板”,“循环”,“设备”。无论您在源代码中执行多少次循环操作。
通常,如果您知道可以减少特定函数(例如qsTr
)的调用量而又没有太多开销,那就去做吧。
UPD :关于性能评估,您可以参考this project。