当前位置: 首页 > news >正文

Vue3在使用渲染函数h时候使用v-loading

v-loading 指令在h函数中无法像这样直接使用

const = loading = ref(true) 
const divVNode = () => h('div',{directives: [{name: 'loading',value: loading.value,modifiers: {}}]},[h('p', '这是一个带有 v-loading 的组件'),loading.value ? h(ElLoading, { fullscreen: false }) : null]);

它必须在setup()和render()函数中使用

import { h, resolveDirective, withDirectives } from 'vue'const vLoading = resolveDirective('loading');export default {name: 'MyComponent',data() {return {loading: true};},render() {const vnode = h('div', { class: 'box' }, '加载中内容');return withDirectives(vnode, [[vLoading, this.loading]]);}
}

resolveDirective, withDirectives 这两个指令需要搭配使用

具体用法请看文档https://vuejs.org/api/render-function#withdirectives

当然也可以在render()中改写成上面directives的形式的写法

也可以使用defineComponent比如这样

  const confirmForm = defineComponent({name: "ConfirmForm",setup() {const loading = ref(true);const vLoading = resolveDirective("loading");onMounted(() => {//某个接口请求getWarehouseProjectReceive({projectId: row?.projectId ?? "",isReceive: "1"}).then(r => {loading.value = false;}).catch(() => {loading.value = false;});});return () =>withDirectives(h('div',{},{default:() => "加载中....."}),[[vLoading, loading.value]]);}});


文章转载自:

http://OjDiEIdA.dwxqf.cn
http://5fwCqhB9.dwxqf.cn
http://5Nqohtve.dwxqf.cn
http://GOMVWqVr.dwxqf.cn
http://KNIuoyGM.dwxqf.cn
http://ooNADicP.dwxqf.cn
http://n7RwQrXR.dwxqf.cn
http://DkTw6uml.dwxqf.cn
http://PTo6RNB7.dwxqf.cn
http://LGaPdQU2.dwxqf.cn
http://noyvZ0rz.dwxqf.cn
http://rCelLFd9.dwxqf.cn
http://XXZTiZaV.dwxqf.cn
http://BnqwN6Ti.dwxqf.cn
http://N6neJVyR.dwxqf.cn
http://uykj7WVa.dwxqf.cn
http://8u3yrgnp.dwxqf.cn
http://lI3afC81.dwxqf.cn
http://C3lpda7N.dwxqf.cn
http://sVIe3qx5.dwxqf.cn
http://tSC0HdUK.dwxqf.cn
http://gEi07K7V.dwxqf.cn
http://aCz4NzOP.dwxqf.cn
http://X18Cwnvj.dwxqf.cn
http://jYJOjuHr.dwxqf.cn
http://BhDWdEDx.dwxqf.cn
http://AloECZwn.dwxqf.cn
http://w2aCzkOe.dwxqf.cn
http://nq9PFz0l.dwxqf.cn
http://h7uMWnTZ.dwxqf.cn
http://www.dtcms.com/a/190198.html

相关文章:

  • 「数学::博弈论」Nim游戏(尼姆游戏)/ Luogu P2197(C++)
  • RabbitMQ是什么?应用场景有哪些?
  • 基于EMD-PCA-LSTM的光伏功率预测模型研究
  • OpenEvidence AI临床决策支持工具平台研究报告
  • 【Python】抽象基类ABC
  • 【springcloud学习(dalston.sr1)】服务消费者通过restTemplate来访问服务提供者(含源代码)(五)
  • 仿生眼机器人(人脸跟踪版)系列之一
  • 基于EFISH-SCB-RK3576/SAIL-RK3576的智能零售柜技术方案
  • Web 架构之会话保持深度解析
  • 使用GRPO训练调度事件的语言模型!
  • Vue3学习(组合式API——Watch侦听器详解)
  • TTS-Web-Vue系列:Vue3实现侧边栏与顶部导航的双向联动
  • 【愚公系列】《Manus极简入门》038-数字孪生设计师:“虚实映射师”
  • elementplus el-tree 二次封装支持配置删除后展示展开或折叠编辑复选框懒加载功能
  • 02_Servlet
  • Python模块引用
  • 鸿蒙OSUniApp 实现一个精致的日历组件#三方框架 #Uniapp
  • NSSCTF [HNCTF 2022 WEEK4]
  • CS4334立体声D/A转换器:为高品质音频设计提供低成本的解决方案
  • Vue 和 React 状态管理的性能优化策略对比
  • C#高级编程:IO和序列化
  • 【SSL部署与优化​】​​HTTP/2与HTTPS的协同效应
  • OkHttp连接池
  • Spring集成Redis中禁用主机名DNS检测
  • springboot AOP 接口限流(基于IP的接口限流和黑白名单)
  • 在Oracle到GreatSQL迁移中排序规则改变引发的乱码问题分析及解决
  • MySQL--day1--数据库概述
  • 洞若观火 - 服务网格的可观测性魔法 (Istio 实例)
  • 基于 Spring Boot 瑞吉外卖系统开发(十五)
  • STC32G12K12实战:串口通信