参考字段不会在自定义行反应管理员中呈现

问题描述

出于某种原因,当我在 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>
  )
}

结果:

enter image description here

然后我将列表中的 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 根本不会呈现。道具是一样的:

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)