当前位置:   article > 正文

vue中的slot用法_slot-scope="{ node, data }

slot-scope="{ node, data }

一、父组件:(父组件引用NewsListItem)

  1. <NewsListItem :data="item" class="item-content">
  2. <div slot="btns">
  3. <span class="iconfont iconlingdang"
  4. :style="{color:[ 'rgb(204, 59, 59)', 'rgb(255, 110, 22)', 'rgb(255, 155, 0)',
  5. 'rgb(28, 167, 255)',][item.alarmLevel]}">
  6. </span>
  7. </div>
  8. </NewsListItem>

子组件(NewsListItem)中:

  1. <div class="slots">
  2. <slot name="btns"></slot>
  3. </div>

(父组件的部分代码 然后在子组件中占位)

二、父组件中

  1. <NewsListItem :data="item" class="item-content">
  2. <template v-slot:btns>
  3. <i
  4. class="iconfont iconjia"
  5. style="margin-right: 8px; cursor: pointer"
  6. @click="addTree"
  7. />
  8. </template>
  9. <template v-slot:btns="{ data }">
  10. <i class="iconfont iconjia" @click.stop="addTree(data)"></i>
  11. <i
  12. class="iconfont iconbianjishuru-xianxing"
  13. @click.stop="() => editTree(data)"
  14. />
  15. <i
  16. class="iconfont icontree iconshanchu"
  17. @click.stop="() => removeTree(data)"
  18. />
  19. </template>
  20. </NewsListItem>

子组件中

  1. <span class="tree-node" slot-scope="{ node, data }">
  2. <span class="label">{{ node.label }}</span>
  3. <span v-if="setting">
  4. <slot name="treeBtnGroup" :data="data"></slot>
  5. </span>
  6. </span>

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/259293
推荐阅读
相关标签