Пользовательский стиль входного файла бумаги Polymer 2.0

Я хочу добавить полимеру свой стиль <paper-input type="file">

Пробный код ниже:

HTMLImports.whenReady(() => {
  Polymer({
    is: 'x-foo'
  });
});
<head>
  <base href="https://cdn.rawgit.com/download/polymer-cdn/2.6.0.2/lib/">
  <script src="webcomponentsjs/webcomponents-lite.js"></script>

  <link rel="import" href="polymer/polymer.html">
  <link rel="import" href="paper-input/paper-input.html">
  <link rel="import" href="iron-validator-behavior/iron-validator-behavior.html">
</head>

<body>
<x-foo></x-foo>
<dom-module id="x-foo">
<template>
<style>
paper-input.choose-file {
  --paper-input-container: {
    float: left;
    width: 150px;
    height: 50px;
    background: red;
    overflow: hidden;
  }
  --paper-input-container-underline: {
    border-color: transparent;
  }
  input[type="file"] {
      display: block !important;
      width: 150px !important;
      height: 50px !important;
      opacity: 0 !important;
      overflow: hidden !important;
    }
}
</style>
<paper-input type="file" class="choose-file"></paper-input>
</template>
  </dom-module>
</body>

что-то вроде: https://jsfiddle.net/9sft3yd6/

может кто-нибудь помочь?


person vishnu    schedule 17.01.2019    source источник


Ответы (1)


Я думаю, вы можете настроить ввод с помощью элемента iron-input таким же образом, как и ваша ссылка. Что-то вроде:

ДЕМО

<x-foo></x-foo>
<dom-module id="x-foo">
<template>
<style>
paper-input.choose-file {
  --paper-input-container: {
    float: left;
    width: 150px;
    height: 50px;
    background: green;
    overflow: hidden;
  }
  --paper-input-container-underline: {
    border-color: transparent;
  }
}

iron-input {
  padding: 10px;
  background: red;
  display: table;
  color: #fff;
}

input[type="file"] {
  display: none;
}

</style>
<paper-input type="file" class="choose-file"></paper-input>
  <br />  <br />  <br />  <br />  <br />  <br />  <br />  <br />  <br />  <br />  <br />  <br />
<iron-input>
  <label id="#bb"> Select Your File
  <input type="file" id="File"   size="60" > 
  </label>
</iron-input> 

</template>
  </dom-module>
</body>
person HakanC    schedule 19.01.2019
comment
Я ценю вашу огромную поддержку .. Я сделал так, как вы думали. Пожалуйста, посмотрите мой ответ. - person vishnu; 21.01.2019