javascript - Dart 互操作 : How correctly to make a wrapper?

标签 javascript dart

如何正确制作 wrapper ?我需要包装这个方法:

js:

var columnDefs = [
    {
        floatingFilterComponentParams: {
            suppressFilterButton: true, // <--- это
        },
    },
];

我试试这个选项:

@JS('ColumnDef.floatingFilterComponentParams')
//class floatingFilterComponentParams extends ColumnDef {
class floatingFilterComponentParams {
  external set suppressFilterButton(bool value);
}

如果这是正确的,我该如何在 dart 代码中运行它? columnDefs中没有这个方法。

最佳答案

您可以使用js 包中的js_util 库。以下代码应该有效:

import 'package:js/js.dart';
import 'package:js/js_util.dart' as js_util;

@JS()
external List get columnDef;

set suppressFilterButton(bool value) {
  final floatingFilterComponentParams = js_util.getProperty(columnDef[0], 'floatingFilterComponentParams');
  js_util.setProperty(floatingFilterComponentParams, suppressFilterButton, value)
}

关于javascript - Dart 互操作 : How correctly to make a wrapper?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52145687/

相关文章:

javascript - 如何在列表中创建编辑功能?

使用 Dart 登录 Facebook 和 Google+

windows - 错误 : Flutter plugin not installed; this adds Flutter specific functionality

flutter - 我可以将对象作为参数传递给小部件吗

dart - "@required"注释为错误而不是警告

javascript - jQuery XML 导航

javascript - 为什么 localStorage 不保存该组件中的最后一个符号?

unit-testing - 在一项 Angular Dart 测试中不能运行多个NgTestBed

javascript - 使用 Javascript 检测浏览器是否支持 Web 开放字体格式 (Woff)

javascript - 如何将 Material ui Popper的宽度设置为其容器的宽度,同时将禁用门户设置为false