使用 npm 或 yarn 安装:
npm install @smui/button @smui/card @smui/dialog
或
yarn add @smui/button @smui/card @smui/dialog
在项目的主入口文件中引入 Svelte Material UI 组件:
import Button from '@smui/button';
import Card from '@smui/card';
import Dialog from '@smui/dialog';
// 在组件中使用
<script>
import Button from '@smui/button';
import Card from '@smui/card';
import Dialog from '@smui/dialog';
let open = false;
</script>
<Card>
<Button on:click={() => open = true}>Open Dialog</Button>
</Card>
<Dialog bind:open={open}>
<Dialog.Title>Example Dialog</Dialog.Title>
<Dialog.Content>
This is a dialog content.
</Dialog.Content>
<Dialog.Actions>
<Button on:click={() => open = false}>Close</Button>
</Dialog.Actions>
</Dialog>
Svelte Material UI 提供了一些高级功能,例如自定义主题、动态加载组件和响应式设计。
可以使用 SCSS 或 CSS 定制组件的主题:
// 在全局样式文件中
@use "@material/theme" with (
$primary: #6200ee,
$secondary: #03dac6
);
使用 Svelte 的 await
语法动态加载组件,提高初始加载性能:
<script>
let Button;
import('smui/button').then((module) => Button = module.default);
</script>
{#if Button}
<Button>Click me</Button>
{/if}