data-binding - 如果多行属性绑定(bind)到聚合物表达式,则聚合物 Dart 核心输入验证不起作用

标签 data-binding dart dart-polymer core-elements

我面临一个奇怪的问题。我的自定义聚合物元素中有一个核心输入元素。我将其设置为必需,因此当它为空时,无效属性为真。我也希望它是多行的,因此我将属性 multiline 设置为 true 并且它工作正常。

如果我通过绑定(bind)表达式将属性 multiline 设置为 true,则验证将停止工作。

这里的HTML代码:

    <link rel="import" href="../../packages/polymer/polymer.html">
    <link rel="import" href="../../packages/core_elements/core_input.html">

    <polymer-element name="main-app">
      <template>
        <core-input label="Type something..." required={{required}} multiline?={{multiline}} value={{input}} invalid={{invalid}}></core-input><br>
        invalid: {{invalid}}
      </template>
      <script type="application/dart" src="main_app.dart"></script>
    </polymer-element>

还有 Dart 代码:

import 'package:polymer/polymer.dart';

@CustomTag('main-app')
class MainApp extends PolymerElement {
  @observable String input = '123';
  @observable bool required = true;
  @observable bool multiline = true;
  @observable bool invalid;

  MainApp.created() : super.created();

}

我是否以错误的方式绑定(bind)多行属性?

最佳答案

我不确定,但据我所知,在元素初始化后不支持在单行和多行之间切换。除此之外,似乎此功能即将被完全删除。

  • https://github.com/Polymer/core-input/commit/e185e5bbc6f623c3869e441843dc156c04405ad0
  • https://github.com/Polymer/core-input/issues/44
  • core-input已更改,使其扩展 <input>如果你想使用多行,你必须使用 <textarea>反而。

    这是 17 天前提交的。 Polymer.js 的文档尚未反射(reflect)这些更改。

    关于data-binding - 如果多行属性绑定(bind)到聚合物表达式,则聚合物 Dart 核心输入验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26658047/

    相关文章:

    c# - WPF 同步 ListBox 项目的大小

    wpf - 如何开始在 .net core 3 WPF 应用程序上使用 MvvmLight?

    function - Dart匿名功能混淆

    dart - 如何使用 dart2js 将 Dart Polymer 应用程序部署到 Javascript

    dart - 如何在Dart编辑器中构建聚合物项目?

    wpf - DataGridTemplateColumn 组合框绑定(bind)

    c# - WPF 绑定(bind)如何区分索引器属性和列表元素?

    dart - Flutter - 如何将小部件定位在其他部件下?

    listview - flutter 中非动态容器小部件的水平传送带

    javascript - 在最新的 Polymer Dart 版本中使用来自 Polymer JS 的核心脚手架时出错