gpt4 book ai didi

enums - Dart 枚举 - 聚合物

转载 作者:行者123 更新时间:2023-12-03 03:27:47 33 4
gpt4 key购买 nike

我对 Dart 的新功能很满意。

但是,我想在 web 组件(聚合物)中使用

像这样:

文件.dart

enum Categoria {ID, DESCRICAO, NATUREZA, ID_SUBCATEGORIA_DA, DESCRICAO_SUBCATEGORIA_DA, ATIVO}

@published
Map itemList;

文件.html

..

<template>
<paper-input value="{{itemList[Categoria.ID]}}"></paper-input>
</template>

<script type="application/dart" src="file.dart">
</script>

..

在@published 上的值中有一个 Map itemList,我想使用枚举 Categoria.ID 作为键来查找 Map 的值。

可以在 Web 组件(聚合物)中使用吗?

最佳答案

这不受支持,因为类型不能在 Polymer 绑定(bind)中使用。

以下表达式也不支持,并且枚举基本上是类似代码的语法糖:

class SomeClass {
static final someVal = 1;
}

<template if="{{x is SomeClass}}"></template>
<template if="{{x == SomeClass.someVal}}"></template>

作为解决方法,您可以添加类似的方法

Categoria categoriaEnum(String val) =>
Categoria.values.firstWhere((i) =>
'${i}'.toString().toLowerCase().endsWith('.${val.toLowerCase()}'));

像这样的表达

<paper-input value="{{itemList[categoriaEnum('ID')]}}"></paper-input>

您还可以将该方法移至 mixin,并通过应用混合使您的每个 Polymer 元素都以这种方式支持枚举。不过还是不是很漂亮。

关于enums - Dart 枚举 - 聚合物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27326224/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com