vue里面customRender 和 scopedSlots如何同时使用以及遇到的问题

这篇具有很好参考价值的文章主要介绍了vue里面customRender 和 scopedSlots如何同时使用以及遇到的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在做一个数据表格合并并且涉及到某些地方需要有输入框的操作

1. 部分代码 发现这样写 插槽的功能直接没有了 
 {
          title: '权重',
          align: 'center',
          dataIndex: 'weight',
          scopedSlots: { customRender: 'weight' },
          customRender: (text, row, index) => {
            const obj = { children: text, attrs: {} }
            if (row.kpitype === '其他信息') {
              obj.attrs.colSpan = 0
            }
            if (row.kpitype === '评价信息') {
              obj.attrs.colSpan = 12
            }
            return obj
          },
        },

2.改了以后

 {
          title: '考核得分',
          align: 'center',
          children: [
            {
              title: '实际完成值',
              align: 'center',
              dataIndex: 'sval',
              customRender: (text, row, index) => {
                let svalInp
                if (row.jstype === '定性指标') {
                  svalInp = <a-input v-model="row.sval" onChange={(e) => this.handleSval(e, row, index)} />
                } else {
                  svalInp = <span>{text}</span>
                }
                const obj = { children: svalInp, attrs: {} }
                if (row.kpitype === '其他信息') {
                  obj.attrs.colSpan = 0
                }
                if (row.kpitype === '评价信息') {
                  obj.attrs.colSpan = 0
                }
                return obj
              },
            },

项目直接报错了,提示 You have to use JSX Expression inside your v-model
通过原生返回的标签里面不能写v-model进行双向绑定
svalInp = <a-input v-model=“row.sval” onChange={(e) => this.handleSval(e, row, index)} />
把这块代码改一下 直接用value进行赋值
svalInp = <a-input value={row.sval} onChange={(e) => this.handleSval(e, row, index)} />

还有一个问题需要注意 customRender: (text, row, index)=>{ } 和 customRender: function(text, row, index){ } 他们是有区别的,
箭头函数 this 指向的是vue的实例对象,普通函数this是undefiend

3.在用value进行赋值之后页面没有问题,但是在input输入框输入值之后,移开输入框之后只没有发生改变 当时代码是这么写的 发现这两行写法都不行。 思索了一下。。。

vue里面customRender 和 scopedSlots如何同时使用以及遇到的问题,vue.js,javascript,前端

 handleSval(e, record, index) {
      this.descriptionsList.detailList[index].sval = e.target.value
      this.$set(this.descriptionsList.detailList[index], 'sval', e.target.value)
    },

4.后面还了一种写法 这样就OK了文章来源地址https://www.toymoban.com/news/detail-602672.html

 handleSval(e, record, index) {
      const data = JSON.parse(JSON.stringify(this.descriptionsList))
      data.detailList[index].sval = e.target.value
      this.descriptionsList = data
    },

到了这里,关于vue里面customRender 和 scopedSlots如何同时使用以及遇到的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vim 编辑器如何同时注释多行以及将多行进行空格

    一、场景 YAML文件对空格的要求非常严格,因此在修改YAML时,我们可能需要批量添加空格。 二、操作步骤 请注意:您的所有操作都将以第一行为基准。也就是说,第一行有多少个空格,下面的行就会模仿添加相同数量的空格。 例如: 假设我们希望123,456,000这几行都添加两

    2024年01月19日
    浏览(37)
  • 【JeecgBoot-Vue3】如何在xxx.data.ts里面进行联动配置

    数据联动相关的组件,例如 JTreeSelect、JDictSelectTag 等等具有 dictCode 或 dict 属性的组件配置以后,都是可以自动去获取到数据。 大多数情况下,我们都不是这样去写的。 JeecgBoot 是有代码生成器生成简单的CRUD页面的,并且其是以配置项的形式将参数传递给 BasicForm 表单组件的,

    2023年04月16日
    浏览(29)
  • 【SQL开发实战技巧】系列(二十八):数仓报表场景☞人员分布问题以及不同组(分区)同时聚集如何实现

    【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事 【SQL开发实战技巧】系列(二):简单单表查询 【SQL开发实战技巧】系列(三):SQL排序的那些事 【SQL开发实战技巧】系列(四):从执行计划讨论UNION ALL与空字符串UNION与OR的使用注意事项 【SQL开发实战技巧】系列

    2023年04月09日
    浏览(37)
  • vue-treeselect的基本使用以及如何更改id以及label的绑定值

    一、最主要的几点就是 1、绑值:value=“form.astdeptId”,主要绑的就是id,通过id找到对应的label回显 2、options是数据源,正常调接口获取就行了 3、append-to-body=\\\"true\\\"这个最好加上,可能会遇到下拉的弹窗打不开或者只有一点点高的情况 4、( ******) normalizer属性 就是把我们自己

    2024年02月02日
    浏览(34)
  • 如何在HTML里面使用session

    借助sessionStorage方法,话不多说直接上代码 引入自定义的js文件 存储需要的值 取值

    2024年02月12日
    浏览(27)
  • vue前端如何去掉后端接口返回的一个字段中时间里面的时分秒 只需要年月日

    在 Vue 前端中,可以使用 JavaScript 中的 Date 对象来处理日期。对于从后端接口返回的日期字符串,可以先将其转换为 Date 对象,然后再使用 getFullYear()、getMonth()、getDate() 等方法获取年月日等信息 。 以下是一个示例函数,它接受一个日期字符串作为参数,并返回 YYYY-MM-DD 格式

    2024年02月14日
    浏览(39)
  • 微信小程序里面如何使用svg图片

    首先准备一段svg代码如下: 然后按照下面的格式更改 也打开下面的网址转, https://codepen.io/jakob-e/pen/doMoML 将svg代码贴到下图中红线圈起来的位置,会自动转成base64, 然后将base64代码部分复制下来放到浏览器里面打开,可以看到结果. 最后在小程序里面使用,如下 结果:

    2024年02月11日
    浏览(52)
  • 服务器部署—若依【vue】如何部署到nginx里面?nginx刷新页面404怎么办?【完美解决建议收藏】

    服务器部署项目我们大家都会遇到,但是有些铁子会遇到很多的问题,比如前端部署nginx如何操作? 前端有单纯的静态页面、还有前后端分离的项目;这里博主直接分享最牛最到位的前后端分离项目的前端部署到nginx上面,以若依项目【springboot+vue】为例,实现将前端部署到

    2024年02月03日
    浏览(45)
  • vue中使用watch监听同时监听两个数据

    使用场景,创建一个子组件,父组件会向子组件中穿递一个状态 - \\\"status\\\" ,子组件需要同时监听this.$route.params中的值和status,然后再去调方法,所以需要同时监听

    2024年02月11日
    浏览(32)
  • Qt安装教程以及QT Creater,同时使用清华源镜像,解决安装过慢的问题

    下载地址链接 https://download.qt.io/    根据你自己操作系统选择对应的下载文件  在你想把QT安装的地址下,创建一个文件夹,把QT安装包放进去 在此处输入CMD,回车进入命令指示符  输入命令  此处的installer.exe是你安装包的名字,鄙人安装包名字为qt-unified-windows-x64-4.5.2-onli

    2024年02月06日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包