【问题标题】:Polymer 1 paper-radio-group issuePolymer 1 paper-radio-group issue
【发布时间】:2017-01-13 08:21:36
【问题描述】:

我正在尝试使用paper-radio-group 绑定一组paper-radio-button。这是我在Index.html 中的代码:

<paper-card heading="Radio button group binding">
  <div class="card-content">
    <h4>Which writer you like the most?</h4>
    <paper-radio-group>
      <radio-group-binder data='[{"name": "William Shakespere", "value": "ws"}, {"name": "Arthur Conan Doyale", "value": "cd"}, {"name": "Shidney Sheldon", "value": "ss"}]'>
      </radio-group-binder>
  </paper-radio-group>
  </div>
</paper-card>

我的自定义元素如下所示:

<template>
  <template is="dom-repeat" items="{{data}}">
     <paper-radio-button name="{{item.value}}">{{item.name}}</paper-radio-button>
  </template>

数据绑定很好,但我可以在组内选择多个单选按钮。我在这里做错了什么?

我附上了它现在表现的截图。我需要在这个radio-button-group 中一次只能选择一个选项。

【问题讨论】:

    标签: polymer-1.0 paper-elements


    【解决方案1】:

    您需要定义attr-for-selected 来引用它需要分组的属性。

    <paper-radio-group attr-for-selected="name">
    

    【讨论】:

    【解决方案2】:

    实际上selected={{button}} 会将所选单选按钮的名称/值存储到变量按钮中。以便您以后可以根据需要使用它。至于你的问题“在单选组中只选择一个单选按钮”,我做了一些如下的改变,它对我有用。请试一试:

    自定义元素:

    <dom-module id="radio-group-binder">
    <template>
     <paper-radio-group selected="{{button}}" attr-for-selected="name">
      <template is="dom-repeat" items="{{data}}">
         <paper-radio-button name="{{item.value}}">{{item.name}}</paper-radio-button>
      </template>
     </paper-radio-group>
    </template>
    

    索引.html:

     <radio-group-binder data={{data}}></radio-group-binder>
        <script>
       var data = [{"name": "William Shakespere", "value": "ws"}, {"name": "Arthur Conan Doyale", "value": "cd"}, {"name": "Shidney Sheldon", "value": "ss"}];
       document.querySelector('radio-group-binder').data = data; 
        </script>
    

    您可能需要在这两个地方添加“已选择”。你可以试试下面的方法吗?

    <radio-group-binder selected="{{button}}" data= yourdata....    
    
    <paper-radio-group selected="{{button}}" attr-for-selected="name">
    

    【讨论】:

    • 为 {{button}} 变量传递什么?我在自定义元素中定义了 ,它在我的 index.html 中被引用为 。对不起,我在这里的初学者水平的理解。
    • 我已经编辑了更新的答案。请检查是否有效。至于 selected={{button}} 你不需要传递任何东西。我猜它会将选定的单选按钮值/名称存储在按钮变量中。以便您以后可以使用它。我已将 paper-radio-group 从 index.html 移到您的自定义元素模板中,并且它起作用了。
    • 嗨 Srikanth,将 放在自定义元素中解决了我的问题。谢谢你给我指路。现在我正在尝试扩展功能,但我无法做到。如果您有时间,请查看我的问题stackoverflow.com/questions/33609908/… 并建议我做错了什么。再次感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多