Javascript 记录属性未呈现为字符串
我正在尝试访问记录属性Javascript 记录属性未呈现为字符串,javascript,string,reactjs,Javascript,String,Reactjs,我正在尝试访问记录属性odata.type,以便根据其值修改我的EditForm。我已经创建了一个常数,该常数正好可以执行此操作,但是当我使用console.log打印它时,出于某种原因,它会显示如下: ƒ HWType(_ref2) { var record = _ref2.record; return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { __source: { fileName: _j
odata.type
,以便根据其值修改我的EditForm
。我已经创建了一个常数,该常数正好可以执行此操作,但是当我使用console.log
打印它时,出于某种原因,它会显示如下:
ƒ HWType(_ref2) {
var record = _ref2.record;
return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
__source: {
fileName: _jsxFileName,
lineNumber: 31
},
我的常数如下所示:
const HWType = ({ record }) => {
return <span>{record ? record["odata.type"] : null}</span>;
}
consthwtype=({record})=>{
返回{record?record[“odata.type”]:null};
}
对如何访问odata.type
属性有何建议
谢谢
HWType
是您的反应组件。你不能添加这样的条件。您必须将常量
视为常量
而不是组件
const HWType = ({ record }) => {
return <span>{record ? record["odata.type"] : null}</span>;
}
它可以用作
const obj = {record: '...'} // your actual object value
{HWType(obj) === "HardwareDatabase.CPU" ? <ReferrenceSelectBox label="Socket" source="SocketTypeId" reference="CPUSocketType"></ReferrenceSelectBox> : null}
const obj={record:''.'}//实际对象值
{HWType(obj)==“HardwareDatabase.CPU”?:null}
如果要根据记录
属性的某些值显示或隐藏输入,可以使用
。在您的情况下,它将如下所示:
const HWType = ({ record }) => {
return <span>{record ? record["odata.type"] : null}</span>;
}
首先,您必须添加您将要调节的输入:
<TextField source="odata.type" Name="HWType" disabled={true} />
然后:
{({formData,…rest})=>formData[“odata.type”]==“HardwareDatabase.CPU”&&
}
这样,只有当record
属性等于HardwareDatabase.CPU
您可以查看文档中的FormDataConsumer
:
可以添加样本记录值吗?您如何使用
HWType
?@Harish我使用这个常量,因此如果条件为true,我可以有条件地显示字段。例如:{HWType===“HardwareDatabase.CPU”?:null}
HWType
是您的react组件。你不能添加这样的条件。你必须将你的常量
视为常量
而不是组件
。哦,好的,我可以修改该常量使其返回属性吗?是的,你可以将其修改为函数
谢谢你的回答,但不幸的是,这个解决方案似乎对我不起作用,因为HWType(obj)
由于某些原因未定义。您如何在代码中使用它?你能为它创建代码笔吗?我已经根据你的代码定义了常量HWType
和obj
,然后我导出了包含输入的常量HardwareEdit
。我有这个条件。
<FormDataConsumer>
{({ formData, ...rest }) => formData["odata.type"] === "HardwareDatabase.CPU" &&
<ReferrenceSelectBox label="Socket" source="SocketTypeId" reference="CPUSocketType" {...rest}></ReferrenceSelectBox>
}
</FormDataConsumer>