当前位置: 首页 > 知识库问答 >
问题:

vue3 - Vue3.x+Element-Plus通过render函数创建表单ref的问题?

充子航
2023-04-20

代码:

<script>
import { defineComponent, ref, reactive, h, onMounted, nextTick } from 'vue'
import { ElForm } from 'element-plus'

export default defineComponent({
  components: {
    ElForm
  },
  setup () {
    const ruleFormRef = ref(null)
    const ruleForm = reactive({
    })

    const rules = reactive({
    })
    const handleClick = () => {
      // 表单校验
      console.log('ruleFormRef.value111:', ruleFormRef.value) //值为null
    }
    return {
      ruleFormRef,
      ruleForm,
      rules,
      handleClick
    }
  },
  render () {
    const btnChildren = <el-button onClick={this.handleClick}>提交</el-button>
    return h(ElForm, {
      ref: this.ruleFormRef,
      model: this.ruleForm,
      rules: this.rules,
      labelWidth: '120px',
      class: 'demo-ruleForm'
    }, [btnChildren])
  }
})
</script>

进行表单提交校验,打印出来的ruleFormRef.value的值为null。该怎么处理?

共有1个答案

慕容劲
2023-04-20

将代码改成这样就可以了


return h(ElForm, {
      ref: (el) => this.ruleFormRef = el,
      model: this.ruleForm,
      rules: this.rules,
      labelWidth: '120px',
      class: 'demo-ruleForm'
    }, [btnChildren])
 类似资料:
  • 使用 vite 打包组件库,在新的项目中使用时报错 下面是打包后的产物 pe 和 dn 找不到导致项目启动时就报错, 手动再新起一个别名时会结局此问题 vite.config.ts 配置如下 请问这个问题该怎么解决

  • 请问各位大佬们 如何通过vue3+element-plus实现el-table的子列表懒加载???该如何实现点击左侧的箭头实现子节点的懒加载?不然数据多的情况下 会导致卡顿。求指教,谢谢!!! 这是后台返回的数据格式:

  • <el-checkbox v-model="checked" label="Option 1" size="large" /> 期望 checked 的值是 0 和 1(0 表示 true,1 表示 false)。 怎么绑定这个值呢? 尝试过: <el-checkbox :value="checked" label="Option 1" size="large" />

  • vue3 div 绑定 ref 正常是这样的: 这样的怎么不可以:

  • vue3-element-admin 是基于 vue-element-admin 升级的 Vue3 + Element Plus 版本的后台管理框架,是有来技术团队继 youlai-mall 开源全栈商城项目的又一开源力作。 项目使用 Vue3 + Vite2 + TypeScript + Element Plus + Vue Router + Pinia + Volar 等前端主流技术栈,基于此

  • 在vue3框架中,我使用ref定义了一个变量,但是发现在更新其数据之后,页面上并不会有响应式变化,具体表现是在更新数据之后不会出现表格最前面的选择框 数据定义 数据初始化,其中list是一个数组,具有唯一的id属性 组件A中定义了计算属性rowSelection 当点击一个按钮之后,触发BatchEdit函数,通过emit抛出新的rowSelection 在父组件中进行事件定义并更新内容 rowS