所以我的问题是为什么这个工作并显示点:
<Field label="Password" value="•••••" type="password" />
以上只显示普通的六进制代码!
<Field label="Password" value={`${'•'.repeat(10)}`} type="password" />
我的Field组件:
function renderValueByType(value: string, type: string) {
switch (type) {
case 'phone':
return phoneFormatter(value);
default:
return value;
}
}
/**
*
* @param {*} param0
*/
const Field = ({ label, value, type, className }: PropTypes) => (
<div className={className}>
<span className="Field__label">{label}</span>
<span className="Field__content">{renderValueByType(value, type)}</span>
</div>
);
解决方法:
如果将静态字符串设置为prop,它将按原样呈现.
如果将变量设置为prop,则将对其进行清理.
这里你最好的选择是将十六进制字符代码转换为字符串,然后将其传递给组件(使用String.fromCharCode()):
<Field
label="Password"
value={String.fromCharCode("0x2022").repeat(10)}
type="password"
/>