VUE3&Jeecg框架开发笔记, 父组件传递数据给子组件,子组件数据不显示的问题

如下图,列表页面中,有个弹出对话框子组件,列表页面为父组件,页面加载后获取数据,并将数据传递给子组件。

父组件:

   <MaMaintainRecordModal @register="registerModal" @success="handleSuccess" :infoList="infoList"></MaMaintainRecordModal>

image.png

infoList 为传递的变量参数

子组件接收数据,因为接收的数据是一个数组对象:

  1. 定一个 接口对象:

  interface DropdownItem {
  id: string;
  equipmentName: string;
  maintainName: string;
}

2. 定义defineProps

     defineProps({
      infoList: {
    type: Array as PropType<DropdownItem[]>,
    required: true,
  },
});

3.页面组件使用传递的数据:

<template>
  <BasicModal v-bind="$attrs" @register="registerModal" destroyOnClose :title="title" :width="800" @ok="handleSubmit">
      <BasicForm @register="registerForm">
      <template #maintaininfo="{ model, field }">
        <a-select
          v-model:value="model[field]"
          placeholder="请选择保养项目">
          <template v-for="item in infoList" :key="item.id">
            <a-select-option :value="item.id">{{ item.equipmentName }}--{{item.maintainName}}</a-select-option>
          </template>
        </a-select>
    </template>
  </BasicForm>
  </BasicModal>
</template>


qrcode