Skip to content

About support for MD 3 and some other suggestions | 关于 MD 3 的深度支持和一些其他建议 #1896

@Kuriyona

Description

@Kuriyona

Varlet 是一款我非常喜欢的组件库,我也做了几次虽然不大的 issue 和 pr
第一次看到这个组件库的时候,抉择之下还是放弃了使用。因为并不是我更喜欢的 Material Design 3 (Material You)。
但是感到,虽然 Vue Material 的组件库似乎不少,但是基本上都是 M2,对 M3 还原的好的基本上组件数量堪忧。(Vuetify 目前对 M3 的支持还是稀烂)
后面看到 Varlet 支持了 M3,就用回了 Varlet,虽然不如我期待得那么 M3,但已经是最优选择了。

所以我也想就一些问题进行询问或请求。

首先还是先问一下有没有实现的打算。至于实现,我认为自己并没有足够的实力去参与这个项目具体组件的能力。尽力而为,只算提交了 #1858 的贡献。

基本上是关于缺少的组件和样式的,考虑到实际的需要,一些新样式应该是被做成选择性启用的。就像 Varlet 里,M3 样式的 Switch 一样。

<template>
  <var-switch variant v-model="value" />
</template>

感觉 Varlet 的 AppBar 很没 Material 的感觉却又说不上为什么

Navigation

BottomNavigation 对应 Navigation bar 没什么问题。
但是缺少对应 Navigation railNavigation drawer 的。
其中我认为 Navigation rail 更为刚需。而且应该是支持缩放和展开的。

Image

顺带解决一些命名的差异?

Tabs

Tabs 缺少了第一种(Primary tabs)样式。

Tabs

Image

Fabs

Fab 并不可以作为一个普通按钮(比如在 Navigation rail 中)和包含文字(Extended FAB)。

同时建议最好加上 Extended FAB 的 Expanding 功能。

m0e6w6vv-EFAB-B_1.mp4

Split Button

目前 Varlet 的 Split Button 实现的不完善的。需要用户半自行实现。

<template>
  <var-menu placement="bottom" same-width :offset-y="6">
    <var-button-group type="primary">
      <var-button @click.stop>Split Button</var-button>
      <var-button style="padding: 0 6px;">
        <var-icon name="menu-down" :size="24" />
      </var-button>
    </var-button-group>

    <template #menu>
      <var-cell ripple>Split Button</var-cell>
      <var-cell ripple>Split Button</var-cell>
      <var-cell ripple>Split Button</var-cell>
    </template>
  </var-menu>
</template>

同时建议支持 M3 的中间直接分割开的样式(应该给一个选项选择性启用)。

Image

Loading

支持 Progress indicators 这种已加载和未加载中有分割的样式。

Image

但是至于这种波浪样式的,我个人不是很认同,还是请开发者取舍。

Image

Search 的实现

和普通文本框还是有很大不同的。

Search

Image

Slider

可选 MD 3 Slider 样式。

Image

更好的 PC 支持

#1864


大概先想到这些。也不是是一定要支持,更多是先问一下。我甚至没提莫奈取色呢(感觉要大改主题系统)

抛开样式,我认为 Navigation rail,其次 Fab 和 Split Button 是比较重要的了。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions