首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在角4分量中使用Dropify文件输入

在角4分量中使用Dropify文件输入
EN

Stack Overflow用户
提问于 2017-11-12 01:46:58
回答 2查看 3.3K关注 0票数 2

我想在我的Range4项目中使用Dropify组件。但是,在将.dropify类应用到input之后,我得到的只是默认的文件输入,其中有“选择文件”按钮和文件名标签。如何显示Dropify拖放文件输入?

根据Dropify的要求,我在它们各自的位置中包含了JQuery和Dropify的脚本、样式表和字体:

  • jquery.min.js包含在.angular-cli.jsonapps.scripts数组中
  • dropify.min.js包含在.angular-cli.jsonapps.scripts数组中
  • dropify.css包含在.angular-cli.jsonapps.styles数组中
  • Roboto字体(Dropify所需)@importsrc/styles.css中编辑

src/app/app.component.html

代码语言:javascript
复制
...
<div style="padding-bottom: 1.25em;">
  <input type="file" id="input" class="dropify" data-allowed-file-extensions="csv" formControlName="studentList" required>
</div>
...

src/app/app.component.ts

代码语言:javascript
复制
import {Component, OnInit} from '@angular/core';
import {FormBuilder, FormGroup, Validators} from '@angular/forms';

declare var $: any;

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
  ...
  ngOnInit() {
    ...
    const dragAndDrop = $('.dropify').dropify({
      messages: {
        'default': 'Drag and drop a CSV file here or click'
      }
    });
    ...
  }
  ...
}

src/styles.css

代码语言:javascript
复制
@import "~@angular/material/prebuilt-themes/indigo-pink.css";
@import "~http://fonts.googleapis.com/css?family=Roboto:400,300,700,900|Roboto+Condensed:400,300,700";

.angular-cli.json

代码语言:javascript
复制
{
  ...
  "apps": {
    ...
    "styles": [
      "styles.css",
      "../node_modules/dropify/dist/css/dropify.css"
    ],
    "scripts": [
      "../node_modules/jquery/dist/jquery.min.js",
      "../node_modules/dropify/dist/js/dropify.min.js"
    ],
    ...
  }
  ...
}
EN

回答 2

Stack Overflow用户

发布于 2017-11-21 10:51:37

没有任何错误,就不可能给出任何解决方案。但是我在这里给出一个用例。可能对你有帮助。

  1. npm install dropify --save
  2. 将.js和.css文件添加到.ange-cli.json或索引文件中。
  3. <input type="file" (change)="imageChanged($event)" class="dropify" accept=".png, .jpg, .jpeg" data-allowed-file-extensions="jpg png jpeg" data-max-file-size="300K">输入元素
  4. 在.ts文件declare var $: any;
  5. ngOnInit() { $('.dropify').dropify({}); }

就是这样。

票数 4
EN

Stack Overflow用户

发布于 2017-11-12 03:28:21

我在JQuery 4中遇到了类似的问题,通过在app.component.ts中添加另一个声明来解决这个问题:

declare var jquery:any;希望它能起作用!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47244659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档