Dart PaperDropdownMenu 获取选中的项目
Dart PaperDropdownMenu getting selected item
我在获取所选项目 ID 甚至下拉菜单列表中显示的文本方面遇到了困难。这是我的代码:
HTML:
<paper-dropdown-menu label="Currency" on-core-select="{{selectCurrency}}">
<paper-dropdown class="dropdown" halign='right'>
<core-menu class="menu" selected="{{selectedCurrency}}">
<template repeat="{{c in currencies}}">
<paper-item>{{c}}</paper-item>
</template>
</core-menu>
</paper-dropdown>
</paper-dropdown-menu>
飞镖:
void selectCurrency(CustomEvent e, var detail, PaperDropdownMenu m) {
var id = m.getAttribute("selected");
//id = mCurrencyDropdown.selected;
JsObject detail = new JsObject.fromBrowserObject(e)['detail'];
if(detail['isSelected']) {
PaperItem selected = detail['item'] as PaperItem;
print( 'source | $selected' );
}
print(detail);
}
我可以看到几个属性,我可以从中获取我想要的信息,但我无法访问它们,因为它们似乎不是 public:
https://drive.google.com/file/d/0B9-4jVIpB0XuTXJ5eVBMZllyanM/view
有什么想法吗?谢谢!
感谢 Günter,我找到了答案:
我有一个这样的可观察对象:
@observable int selectedCurrency = 20;
显然,您可以简单地向您的 class 添加一个方法来匹配成员名称,并且每次更改 observable 时都会调用它:
selectedCurrencyChanged(var oldValue, var newValue) {
print(newValue);
}
您绑定的字段 selectedCurrency 在哪里?
我猜你可以完全放弃 on-core-select
事件处理程序,而是添加一个方法
selectedCurrencyChanged(newValue) {
// event handler code here
}
我在获取所选项目 ID 甚至下拉菜单列表中显示的文本方面遇到了困难。这是我的代码:
HTML:
<paper-dropdown-menu label="Currency" on-core-select="{{selectCurrency}}">
<paper-dropdown class="dropdown" halign='right'>
<core-menu class="menu" selected="{{selectedCurrency}}">
<template repeat="{{c in currencies}}">
<paper-item>{{c}}</paper-item>
</template>
</core-menu>
</paper-dropdown>
</paper-dropdown-menu>
飞镖:
void selectCurrency(CustomEvent e, var detail, PaperDropdownMenu m) {
var id = m.getAttribute("selected");
//id = mCurrencyDropdown.selected;
JsObject detail = new JsObject.fromBrowserObject(e)['detail'];
if(detail['isSelected']) {
PaperItem selected = detail['item'] as PaperItem;
print( 'source | $selected' );
}
print(detail);
}
我可以看到几个属性,我可以从中获取我想要的信息,但我无法访问它们,因为它们似乎不是 public: https://drive.google.com/file/d/0B9-4jVIpB0XuTXJ5eVBMZllyanM/view
有什么想法吗?谢谢!
感谢 Günter,我找到了答案:
我有一个这样的可观察对象:
@observable int selectedCurrency = 20;
显然,您可以简单地向您的 class 添加一个方法来匹配成员名称,并且每次更改 observable 时都会调用它:
selectedCurrencyChanged(var oldValue, var newValue) {
print(newValue);
}
您绑定的字段 selectedCurrency 在哪里?
我猜你可以完全放弃 on-core-select
事件处理程序,而是添加一个方法
selectedCurrencyChanged(newValue) {
// event handler code here
}