首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过在vue js中接受颜色作为道具来赋予占位符颜色?

问如何通过在vue js中接受颜色作为道具来赋予占位符颜色?
EN

Stack Overflow用户
提问于 2019-11-29 07:59:46
回答 1查看 4.7K关注 0票数 1

​

我做了很多关于如何给占位符颜色的研究,但是找不到方法去做。我想给占位符颜色,在那里我需要接收颜色作为道具在Vue.js,以使其可重用的组件。

我知道如何用css.But改变颜色,但没有得到答案。

有些链接是-

How to update placeholder color using Javascript?

How to change the colour of placeholder using javascript?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-29 08:27:32

下面是使用CSS变量的一种方法:

​

代码语言:javascript
复制
const MyInput = {
  template: `
    <input
      class="my-input"
      placeholder="Placeholder"
      :style="placeholderColor ? {'--placeholder-color': placeholderColor} : {}"
    >
  `,
  
  props: ['placeholder-color']
}

new Vue({
  el: '#app',
  
  components: {
    MyInput
  },
  
  data () {
    return {
      colors: ['#f00', '#0f0', '#00f']
    }
  },
  
  methods: {
    rotate () {
      this.colors.push(this.colors.shift())
    }
  }
})
代码语言:javascript
复制
.my-input {
  --placeholder-color: #f0f;
}

.my-input::placeholder {
  color: var(--placeholder-color);
}
代码语言:javascript
复制
<script src="https://unpkg.com/vue@2.6.10/dist/vue.js"></script>

<div id="app">
  <my-input v-for="color in colors" :placeholder-color="color"></my-input>
  <br>
  <button @click="rotate">Rotate</button>
  <br>
  <my-input></my-input>
</div>

​

诀窍是可以使用style设置CSS变量,即使伪元素不能直接样式化。

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

https://stackoverflow.com/questions/59100885

复制
相关文章

相似问题

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