Giter VIP home page Giter VIP logo

Comments (10)

xiaocheng555 avatar xiaocheng555 commented on July 22, 2024

在模板中不判断非空直接使用默认作用域插槽参数row的字段,会报尝试获取undefined上的属性的错误。

http://localhost:8080/#/HeaderDemo2?code=HeaderDemo2&codeTitle=head
demo没复现出来

from el-table-virtual-scroll.

vjguo avatar vjguo commented on July 22, 2024

在模板中不判断非空直接使用默认作用域插槽参数row的字段,会报尝试获取undefined上的属性的错误。

http://localhost:8080/#/HeaderDemo2?code=HeaderDemo2&codeTitle=head demo没复现出来

我又试了下,换回ElTableColumn不报错,只有用VirtualColumn报错。
具体原因我还没找到,找到后我再回复。

from el-table-virtual-scroll.

vjguo avatar vjguo commented on July 22, 2024

猜测是这样
https://github.com/xiaocheng555/el-table-virtual-scroll/blob/master/src/el-table-virtual-column.vue#L288
created钩子里 $scopedSlots还没初始化完 应该没有default插槽 isNested值恒常为true
导致上面https://github.com/xiaocheng555/el-table-virtual-scroll/blob/master/src/el-table-virtual-column.vue#L24
默认插槽渲染 而下面作用域插槽没渲染 此时获取作用域插槽参数为空 报错
如果判断非空了 等$scopedSlots有值了 就又能获取到作用域插槽参数了 所以能够变回显示正常

demo不复现的原因不太清楚 希望能确认下isNested的值是否正确的问题

from el-table-virtual-scroll.

vjguo avatar vjguo commented on July 22, 2024

https://github.com/xiaocheng555/el-table-virtual-scroll/blob/master/src/el-table-virtual-column.vue#L241
另外这一行代码 取反操作符的位置是不是不太对?

from el-table-virtual-scroll.

vjguo avatar vjguo commented on July 22, 2024

Element里有一种判断isNested的写法 是否能作为参考?
https://github.com/ElemeFE/element/blob/dev/packages/form/src/form-item.vue#L140

from el-table-virtual-scroll.

xiaocheng555 avatar xiaocheng555 commented on July 22, 2024

Element里有一种判断isNested的写法 是否能作为参考? https://github.com/ElemeFE/element/blob/dev/packages/form/src/form-item.vue#L140

ok

from el-table-virtual-scroll.

xiaocheng555 avatar xiaocheng555 commented on July 22, 2024

猜测是这样 https://github.com/xiaocheng555/el-table-virtual-scroll/blob/master/src/el-table-virtual-column.vue#L288 created钩子里 $scopedSlots还没初始化完 应该没有default插槽 isNested值恒常为true 导致上面https://github.com/xiaocheng555/el-table-virtual-scroll/blob/master/src/el-table-virtual-column.vue#L24 默认插槽渲染 而下面作用域插槽没渲染 此时获取作用域插槽参数为空 报错 如果判断非空了 等$scopedSlots有值了 就又能获取到作用域插槽参数了 所以能够变回显示正常

demo不复现的原因不太清楚 希望能确认下isNested的值是否正确的问题

你有必现的demo吗

from el-table-virtual-scroll.

vjguo avatar vjguo commented on July 22, 2024

我这边仅这样就可以复现了。

  <VirtualScroll :data="[]">
    <el-table>
    <VirtualColumn label="test">
      <template #default="{ row }">
        <!-- 非空判断后就能正常显示 -->
        <!-- {{ row ? row.test : 'no' }} -->
        {{ row.test }}
      </template>
    </VirtualColumn>
    </el-table>
  </VirtualScroll>

from el-table-virtual-scroll.

xiaocheng555 avatar xiaocheng555 commented on July 22, 2024

我这边仅这样就可以复现了。

  <VirtualScroll :data="[]">
    <el-table>
    <VirtualColumn label="test">
      <template #default="{ row }">
        <!-- 非空判断后就能正常显示 -->
        <!-- {{ row ? row.test : 'no' }} -->
        {{ row.test }}
      </template>
    </VirtualColumn>
    </el-table>
  </VirtualScroll>

我改了另一种写法,你看看会不会报undefined(我demo复现不出来),升级版本 1.0.25
image

from el-table-virtual-scroll.

vjguo avatar vjguo commented on July 22, 2024

我这边仅这样就可以复现了。

  <VirtualScroll :data="[]">
    <el-table>
    <VirtualColumn label="test">
      <template #default="{ row }">
        <!-- 非空判断后就能正常显示 -->
        <!-- {{ row ? row.test : 'no' }} -->
        {{ row.test }}
      </template>
    </VirtualColumn>
    </el-table>
  </VirtualScroll>

我改了另一种写法,你看看会不会报undefined(我demo复现不出来),升级版本 1.0.25 image

升级后我这边不报错可以正常使用了,感谢!

from el-table-virtual-scroll.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.