设置placeholder-style属性发现怎么设置都无效,此时更有趣的事情发生了;(使用了uview-ui v1,情况都一样)经过网上冲浪后发现,有位老哥在掘金提到:一般出现这种情况都是在组件里面使用,或者在弹窗里面使用,且使用了uni,uview等三方框架或者库才会出现此问题。
原因是因为动态创建元素的原因,
解决办法:用v-if去控制input的显隐
然后在onload里面设置延时器去显示这个input,或者在this.$nextTick中打开显示
例子:
声明变量showtexteare控制textarea 的显示
<view class="textarea" v-if="showtexteare">
<textarea v-model="dateForm.remark" placeholder-class="plcst" placeholder="请输入说明"
:maxlength="120"style="font-size: 12px;height: 60px;padding-left: 30rpx;" />
</view>
组件或者弹窗等加载完成后
this.$nextTick(function() {
this.showtexteare = true
})
上面这个方法我并没有测试!
我使用了一个更简单的方式通过样式穿透
检查元素并看不到placeholder的类名是啥,这个类名可能是被隐藏了,但是这个方法有用!!
::v-deep .input-placeholder {
color: #7A869A !important;
}