代码之家  ›  专栏  ›  技术社区  ›  Anuj Kaithwas

在Vue中动态更改According图标

  •  0
  • Anuj Kaithwas  · 技术社区  · 5 年前

    我使用Vuetify在Vue中制作了一个扩展面板。我正在使用firestore填充面板中的数据,我还提供了一个按钮在面板中“标记为完成”。我的firestore查询工作正常,数据也得到了更新。在数据库更新后,我无法更改背景颜色或更改默认设置为向下箭头的下拉面板图标,作为向用户提供图形反馈的一种形式。

    enter image description here

    正如您在上图中看到的,我需要展开的面板将其图标更改为复选标记,或者在我单击面板底部的右侧绿色复选标记后,将整个背景颜色更改为绿色。

    我试图动态设置面板标题的颜色属性,但不起作用。下面是我希望它工作的代码。

    methods: {
        complete(id) {
          db.collection("orders")
            .doc(id)
            .update({
              status: "deliverd",
            })
            .then(() => {
              console.log("sdf");
            });
        },
    
    0 回复  |  直到 5 年前
        1
  •  1
  •   tony19 thanksd    4 年前

    我假设你正在使用 v-expansion-panel component 来自Vuetify。

    问题: 动态更改图标或背景颜色 v-expansion-panel-header

    解决方案: 该组件提供了一个名为 expand-icon 这允许更改图标 v型膨胀板机头 -或通过 action 狭槽

    <v-expansion-panel-header expand-icon="mdi-check" disable-icon-rotate>
      Item
    </v-expansion-panel-header>
    
    <v-expansion-panel-header :expand-icon="icon" disable-icon-rotate>
      Item
    </v-expansion-panel-header>
    
    <v-expansion-panel-header disable-icon-rotate>
      Item
      <template v-slot:actions>
        <v-icon color="teal">
          mdi-check
        </v-icon>
      </template>
    </v-expansion-panel-header>
    
    <v-expansion-panel-header disable-icon-rotate>
      Item
      <template v-slot:actions>
        <v-icon color="teal">
          {{ icon }}
        </v-icon>
      </template>
    </v-expansion-panel-header>
    

    请注意使用 disable-rotate-icon 当扩展面板打开时,禁用图标旋转。


    如果你不确定如何使用Vue应用它,我建议你快速阅读 Getting Started 导游。然而,我使用本文中的vuetify组件起草了一个快速示例 CodeSandbox Example 。请将此示例视为指针,在应用程序中实现此功能的方法有100种。像这样,它不是用来在生产代码中使用的。