reactJS材质UI图标按钮上传文件

时间:2016-03-28 03:07:40

标签: reactjs material-ui

我想知道如何使用IconButton打开目录来上传文件?

<IconButton 
  iconClassName="fa fa-plus-square" 
  onClick={(e) => e.stopPropagation()} 
  type='file'
/>

使用下面的代码显示图标按钮和上传文件的另一个按钮

<IconButton iconClassName="fa fa-plus-square" onClick={(e) => e.stopPropagation()}>
    <input type="file type='file'>
</IconButton>

3 个答案:

答案 0 :(得分:6)

一些事情:

  1. 您在IconButton上不需要type='file',只需输入

  2. IconButton不希望它的子节点不是SVGIcon,所以我建议您使用常规按钮

  3. 在这种情况下,我不会调用stopPropagation

  4. 您输入的类型道具中有拼写错误。你有type="file type='file'。它应该是type="file"

  5. 所以,把所有这些放在一起:

    <FlatButton label="Choose file" labelPosition="before">
      <input type="file" style={styles.exampleImageInput} />
    </FlatButton>
    

    如果你仍然希望它是一个图标而不是一个按钮,我怀疑你可以使用<input>做一些事情,或者将它作为子项添加到没有标签的FlatButton。

答案 1 :(得分:5)

使用以下代码可以使用IconButton实现相同的效果。

    public class OrganizationName<T> : WhenCondition<T> where T : RuleContext
    {
        protected override bool Execute(T ruleContext)
        {
         try
            {
              var organizationItem = Sitecore.Data.Database.GetDatabase("master").GetItem(ruleContext.NewItemId);
           var orgName = organizationItem["Organization"];
           if(orgName  == "Apple")
            {
              return true;
            }
            }
             return false;
            }
            catch (Exception ex)
            {
                Sitecore.Diagnostics.Log.Error("Unexpected error", ex);
                return false;
            }
        }
    }

答案 2 :(得分:2)

我认为材料用户界面示例的标准方法是:

successCallbackBinding