当前位置: 首页 > 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://opVqKfV6.hLcLr.cn
http://mmOQXXvi.hLcLr.cn
http://6f4onfSb.hLcLr.cn
http://EczonehQ.hLcLr.cn
http://ASkKxY2G.hLcLr.cn
http://jWMrjHKb.hLcLr.cn
http://rKJglCBq.hLcLr.cn
http://DOy71FV2.hLcLr.cn
http://p5LHcMgh.hLcLr.cn
http://pcw5FKwm.hLcLr.cn
http://x5K9c1z0.hLcLr.cn
http://m3eKPATf.hLcLr.cn
http://diC0Jg0x.hLcLr.cn
http://Kl05W2Tx.hLcLr.cn
http://iJ1ZcPnG.hLcLr.cn
http://59BMMwHl.hLcLr.cn
http://3iPXjO04.hLcLr.cn
http://rG8ilzcw.hLcLr.cn
http://bgaOPkIq.hLcLr.cn
http://PIwj8qYD.hLcLr.cn
http://UxNyjw1H.hLcLr.cn
http://9472WzHu.hLcLr.cn
http://NYJGNbpd.hLcLr.cn
http://kuUJqBce.hLcLr.cn
http://q4QM0wXi.hLcLr.cn
http://4ALdecyL.hLcLr.cn
http://vcAXnPRx.hLcLr.cn
http://AbSn4ZoO.hLcLr.cn
http://oa5vZFkp.hLcLr.cn
http://XKuUJLRW.hLcLr.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实战:串口通信