vue3新增修改页面,字段来源于其他表

html 复制代码
<el-dialog v-model="dialog.visible" :title="dialog.title" destroy-on-close append-to-body width="600px">
      <el-form ref="categoryFormRef" :model="form" :rules="rules" label-width="80px">
        <el-row>
          <el-col :span="12">
            <el-form-item label="分类名称" prop="categoryName">
              <el-input v-model="form.categoryName" placeholder="请输入分类名称" />
            </el-form-item>
          </el-col>

          <el-col :span="12">
            <el-form-item label="关联单位" prop="unitId">
            <el-select v-model="form.unitId" filterable clearable placeholder="请选择">
              <el-option
                v-for="item in unitOptions"
                :key="item.unitId"
                :label="item.unitName"
                :value="item.unitId"
              ></el-option>
            </el-select>
          </el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <template #footer>
        <div class="dialog-footer">
          <el-button type="primary" @click="submitForm">确 定</el-button>
          <el-button @click="cancel">取 消</el-button>
        </div>
      </template>
    </el-dialog>
javascript 复制代码
const unitOptions = ref<AdspunitVO[]>([]);
const listAdspunitAllLocal = async () => {
  if(!unitOptions.value.length){
    const resUnit = await listAdspunitAll();
    unitOptions.value = resUnit.data;
  }
}
// 单位生成 ID-Name 映射字典  
const idToNameUnitMap = computed(() => {  
  return unitOptions.value.reduce((map, item) => {  
    map[item.unitId] = item.unitName;  
    return map;  
  }, {});  
});

// 格式化函数  
const idUnitFormatter = (row, column, cellValue) => {  
  if(!cellValue){
    return;
  }
  return idToNameUnitMap.value[cellValue] || '';  
};
onMounted(() => {
  getList();
listAdspunitAllLocal();
});

比如以上关联单位字段来源于其他表

相关推荐
香蕉可乐荷包蛋14 分钟前
vue对axios的封装和使用
前端·javascript·vue.js·axios
QQ_hoverer18 分钟前
前端使用 preview 插件预览docx文件
前端·javascript·layui·jquery
openInula前端开源社区40 分钟前
【openInula茶话会】第三期:Vue转换到openInula技术揭秘
前端·javascript
西楼_42 分钟前
Next.js:React全栈框架的演进与实战
javascript
架构个驾驾44 分钟前
Vue3 状态管理新选择:Pinia 完全指南与实战示例
前端·javascript·vue.js
空城机44 分钟前
从零打造前沿Web聊天组件:@成员和表情包设计实现
前端·vue.js
cv攻城狮_1 小时前
面试官:说一说try catch吧。。。。。。
前端·javascript
天天码行空1 小时前
stylus - 新生代CSS预处理框架
前端·javascript·scss
前端小巷子1 小时前
Promise 基础:异步编程的救星
前端·javascript·面试
Sun_light1 小时前
JavaScript 数据存储详解:类型与内存空间
前端·javascript