如何解决参考字段不会在自定义行反应管理员中呈现
出于某种原因,当我在 List 组件中使用自定义 DataGridRow 时,它不会呈现 ReferenceField 但是当我使用简单的 DataGrid 时,它确实如此。
这是我的简单代码:
def invest_rows(self,parent):
# logo,name,information,percentage,price
self.stock_data = np.array([['goldman.png','Goldman Sachs Group,Inc','GS | NYSE | Banking & Finance,','+0.30%','$364.80'],['nvidia.png','NVIDIA Corp','NVDA | NASDAQ | Technology','-3.20%','$784.28'],['amd.png','Advance Micro Devices Inc.','+1.20%','$88.56'],['tesla.png','Tesla Inc','TSLA | NASDAQ | Transport','-2.55%','$682.14']])
root.columnconfigure(1,weight=1)
self.invest_frame = Frame(root)
self.invest_frame.grid(row=0,column=1,rowspan=2,sticky=N+S+E+W)
#self.invest_frame.config(background='pink')
self.image = Image.open('goldman.png')
self.image1 = self.image.resize((100,100))
self.fuck = ImageTk.PhotoImage(self.image1)
self.graph = Image.open('up_graph.png')
self.image2 = self.graph.resize((100,100))
self.fuck2 = ImageTk.PhotoImage(self.image2)
for x in range(4):
#print(self.stock_data[0,x])
invest_row = Frame(self.invest_frame)
self.invest_frame.columnconfigure(0,weight=2)
invest_row.grid(row=x,column=0,padx=5,pady=5,sticky=E+W)
image = Image.open(self.stock_data[x,0])
print(self.stock_data[x,0])
image1 = image.resize((100,100))
logo_img = ImageTk.PhotoImage(image1)
invest_row.config(background='grey80')
logo = Label(invest_row,image=self.logo_img,bg='grey80')
logo.grid(row=0,rowspan=3)
name = Label(invest_row,text=self.stock_data[x,1],font="GoldmanSans 18 bold",fg='grey',bg='grey80')
name.grid(row=0,sticky=N+W,columnspan=2)
details = Label(invest_row,2],font='GoldmanSans 14 bold',bg='grey80')
details.grid(row=1,sticky=N,columnspan=2)
ReferenceField 如下所示:
const makeList = (formActionType) => (table,filterCallback) => (props) => {
const record = useRecordContext()
const FormComponent = path([formActionType,'component'])(formActionTypeMapper)
const LayoutComponent = path([formActionType,'layout'])(formActionTypeMapper)
const ListFilter = listFilter(table)
const filter = filterCallback ? filterCallback(record) : null
return (
<FormComponent {...props} filter={filter} pagination={<ListPagination />} filters={<ListFilter />}>
<Datagrid>
{ renderFields(formActionType,table) }
</Datagrid>
</FormComponent>
)
}
然后我将列表中的 DataGrid 更改为 (
<ReferenceField
label={label}
source={primarykey}
reference={reference}
link={(record,reference) => makeFilterLink(reference,{ [foreignkey]: record[primarykey] })}
>
<TextField source={target || foreignkey} />
</ReferenceField>
)
组件,这与文档 https://marmelab.com/react-admin/List.html#the-datagrid-component 中的完全相同
然后我的 ReferenceField 根本不会呈现。道具是一样的:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。