登录
首页 >  文章 >  前端

Vue3 render函数中El-select无法回显值是什么原因?

时间:2025-03-16 10:36:35 107浏览 收藏

本文针对Vue3中使用render函数结合Element-UI的el-select组件时,值无法回显的问题进行排查。主要原因在于`content`变量定义错误,并非返回虚拟DOM元素的函数。文章通过代码示例,展示了将`content`更正为返回el-select组件及其选项的回调函数的正确方法,并强调了`onUpdate:modelValue`的正确写法以及数据双向绑定的重要性,最终实现el-select组件的正确回显。 解决方法在于正确使用`h`函数创建虚拟DOM,并确保数据更新能够触发组件重新渲染。

Vue3 render函数中El-select无法回显值是什么原因?

Vue3 render函数与Element-UI Select组件回显问题排查

在Vue3的render函数中使用Element-UI的el-select组件时,如果遇到值无法回显的问题,可能的原因及解决方法如下:

问题代码中,content变量被错误地定义为一个对象,而不是一个返回虚拟DOM元素的函数。在h函数创建虚拟DOM时,需要将content作为回调函数传递。

更正后的代码:

const handleRemove = () => {
  const options = combination.value.mapList[VariableEnum.variable.toString()] ?? [];

  return h(
    'el-select',
    {
      'onUpdate:modelValue': (val: number) => {
        selected.value = val;
        console.log(selected.value);
      },
      modelValue: selected.value,
      style: { width: '100%' },
      placeholder: '请选择替换组合方式',
    },
    options.map((item) => h(ElOption, { key: item.id, label: item.title, value: item.id }))
  );
};

通过将content改为返回el-select组件及其选项的回调函数,每次渲染时都会根据最新的combination.value.mapList数据动态更新el-select的选项,从而实现正确的回显功能。 注意onUpdate:modelValue的写法,确保数据双向绑定正确。 同时,简化了代码,直接在h函数中映射选项,避免了不必要的复杂性。

今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>