tusen-ai / naive-ui

A Vue 3 Component Library. Fairly Complete. Theme Customizable. Uses TypeScript. Fast.
https://www.naiveui.com
MIT License
15.53k stars 1.63k forks source link

使用NConfigProvider注入组件默认prop #6042

Closed s3xysteak closed 2 weeks ago

s3xysteak commented 2 weeks ago

问题的清晰而简明的描述

如题 类似于

父组件:

<template>
  <n-config-provider :propsOverride="{Dialog: {bordered: true}}">
    <n-modal-provider>
      <Child />
    </n-modal-provider>
  </n-config-provider>
</template>

子组件:

<script setup>
const modal = useModal()
modal.create({
  // ...
  preset: 'dialog',
  // 此时bordered默认为true
})
</script>

建议的解决方案

创建一个组合式函数包装每个组件的props,用于处理默认情况

备选方案

No response

附加上下文

No response

验证

firmianaQ commented 2 weeks ago

+1

pengzhen-developer commented 2 weeks ago

可以参考这个问题: https://github.com/tusen-ai/naive-ui/issues/2696

作者已给出方案: https://github.com/tusen-ai/naive-ui/issues/2696#issuecomment-1083259799

jahnli commented 2 weeks ago

https://github.com/tusen-ai/naive-ui/issues/2696#issuecomment-1083259799