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

中国网站建设市场分析报告word上下页边距不见了

中国网站建设市场分析报告,word上下页边距不见了,三河网站建设公司,dw网页设计代码茶文化问题描述 在使用Ant-Design-Vue组件库提供的Table表格组件时,通过columns做列配置,尝试借助customRender渲染枚举类型的字段值时,浏览器开发者工具控制台打印如下警告信息:[Vue warn]: Non-function value encountered for defaul…

问题描述

        在使用Ant-Design-Vue组件库提供的Table表格组件时,通过columns做列配置,尝试借助customRender渲染枚举类型的字段值时,浏览器开发者工具控制台打印如下警告信息:[Vue warn]: Non-function value encountered for default slot. Prefer function slots for better performance. 

vue性能警告信息

问题分析 

        既然是Vue爆出的警告,我们就把排查的第一个点放在h渲染函数这里。      

        项目代码中,原始配置方式如下(注意h渲染函数的第三个参数),其中:

  • AntTag:是Ant-Design-Vue组件库提供的Tag标签组件
  • StatusEnum:是自定义的ts枚举类型

h渲染函数 

        Vue官网对于h渲染函数的完整参数签名如下,

// 完整参数签名
function h(type: string | Component,props?: object | null,children?: Children | Slot | Slots
): VNode// 省略 props
function h(type: string | Component, children?: Children | Slot): VNodetype Children = string | number | boolean | VNode | null | Children[]type Slot = () => Childrentype Slots = { [name: string]: Slot }

        对h渲染函数的参数解释如下,

第一个参数既可以是一个字符串 (用于原生元素) 也可以是一个 Vue 组件定义

第二个参数是要传递的 prop

第三个参数是子节点

        结合以上解释,至少可以得到以下3个结论:

  1. 第一个参数此处传递的是Vue组件——没有问题;
  2. 第二个参数此处传递的是Vue组件的prop参数,结合Ant-Degisn-Vue Tag标签API来看——没有问题;
  3. 第三个参数此处传递的是字符串类型的变量值,而官网文档给出的是“子节点”类型——如何定义“子节点”类型???是不是这个地方出现了问题呢?

        Vue官网也给出了对应的解释:

当创建一个组件的 vnode 时,子节点必须以插槽函数进行传递。如果组件只有默认槽,可以使用单个插槽函数进行传递。否则,必须以插槽函数的对象形式来传递。

为了方便阅读,当子节点不是插槽对象时,可以省略 prop 参数。

        结合官网给出的如下所示的第3个例子(省略了prop参数),很显然,我们这里的第三个字符串类型参数,看起来并不符合“插槽函数”类型。

import Foo from './Foo.vue'// 传递 prop
h(Foo, {// 等价于 some-prop="hello"someProp: 'hello',// 等价于 @update="() => {}"onUpdate: () => {}
})// 传递单个默认插槽
h(Foo, () => 'default slot')// 传递具名插槽
// 注意,需要使用 `null` 来避免
// 插槽对象被当作是 prop
h(MyComponent, null, {default: () => 'default slot',foo: () => h('div', 'foo'),bar: () => [h('span', 'one'), h('span', 'two')]
})

插槽函数

        那么,什么是插槽函数?参考Vue官网-传递插槽。给出定义:

插槽函数的返回值同一个正常的渲染函数的返回值一样——并且在子组件中被访问时总是会被转化为一个 vnodes 数组

渲染函数

        又回到渲染函数这个话题了,那么Vue官网是如何定义“渲染函数”的呢?

        详细可参见:Vue官网-渲染机制部分。

解决方案

        明确了问题的原因:h渲染函数的子节点传递,需要以“插槽函数”的形式进行传递

        问题就好解决了,以下是修改之后的项目代码(注意红框部分),问题解决!

修改后的代码

http://www.dtcms.com/a/425642.html

相关文章:

  • 贵州网站建设设计公司哪家好产品营销方式有哪些
  • 网站建设中首页模板旅游网站开发设计文档
  • 常州网站建设最易wordpress 修改密码函数
  • 沈阳做网站哪好90设计网素材官网
  • 产品展示网站设计网站规划与建设实验心得体会
  • 公司网站建设周期及费用如何创建一个自己的平台
  • 菏泽市城乡建设局网站汉中做网站的公司电话
  • 五金企业网站模板出入长沙今天最新通知
  • 自我建设外贸网站做报纸能经常更新网站
  • 郑州网站建设特色竞价推广网络推广运营
  • 企业网站的推广方法福清市建设局官方网站
  • 深圳网站建设 网站制作 网站设计【迅美】旧版长沙网站建设及推广公司
  • 专业门户网站的规划与建设中国建设银银行招聘网站
  • 帮站seowordpress 本地头像
  • 常熟做网站多少钱小程序免费制作平台有哪些
  • 潍坊市住房和城乡建设厅网站wordpress internal
  • 网站设计O2O平台佛山总代理wordpress 透明背景图片
  • 网站平台建设模板创新型的福州网站建设
  • 怎么免费发布网站在哪个网站上找超市做生鲜
  • 电子商务网站网络推广方式辽宁省住房和建设厅网站
  • 福州企业网站推广现在做推广有什么好的方法
  • 两个网站放在同一个空间有什么影响吗国外购物网站平台有哪些
  • 南宁建筑网站上海注册公司能落户上海吗
  • 网站建设与开发选题wordpress 非小工具形式 微博秀
  • 威联通怎么建设网站产品类网站
  • 门户网网站建设功能需求表浙江省建设厅网站
  • 北京手机网站制作多少钱优帮云首页推荐
  • 营销型网站建设服务可视化cms
  • 微信官网与手机网站区别网站开发遇到的最大困难
  • 苏州高端网站设计制作钓鱼网站制作