naive-ui/demo/documentation/theme/enUS/environment.md

863 B

Theme Environment

Sometimes you may need some component to access some values at specific theme. You can use theme-environment. Config Consumer & Element have access to theme environment.

<div>
  <n-button @click="theme = 'dark'">Dark Theme</n-button>
  <n-button @click="theme = 'light'">Light Theme</n-button>
</div>
<div style="background-color: rgba(128, 128, 128); padding: 8px;">
  <n-config-provider :theme="theme" :theme-environment="env">
    <n-config-consumer>
      <template v-slot="{ themeEnvironment }">
        <n-tag>{{ themeEnvironment }}</n-tag>
      </template>
    </n-config-consumer>
  </n-config-provider>
</div>
export default {
  data () {
    return {
      theme: 'light',
      env: {
        dark: 'NaCl',
        light: 'Ionic Compound'
      }
    }
  }
}
.n-button {
  margin: 0 8px 12px 0;
}