收藏
回答

自己封装的input组件,placeholder-class使用外部样式不生效?

代码示例:

input.wxml

<input
      class="pps-class pps-input-el pps-color-gray {{clearable?'pps-input-clearable':''}}"
      placeholder="{{placeholder}}"
      type="{{type}}"
      disabled='{{disabled}}'
      maxlength='{{maxlength}}'
      cursor-spacing="{{cursorSpacing}}"
      value="{{val}}"
      focus="{{focus}}"
      bindinput="bindChange"
      bindfocus="bindFocus"
      bindblur="bindBlur"
      placeholder-class="pps-placeholder"
    >
    </input>


input.js

Component({
  options:{addGlobalClass:true},
})


app.wxss

.pps-placeholder {
   color: #CCCCCC;
 }



问题复现:

input.wxml是自定义input组件,将小程序原生input再封装了一层,组件声明了addGlobalClass为true,即外部样式可以影响自定义组件。

input placeholder-class使用的是app.wxss中定义的样式,但实际上placeholder的颜色未生效。

最后一次编辑于  08-21
回答关注问题邀请回答
收藏

1 个回答

  • 三世羽翾
    三世羽翾
    08-21

    组件声明了addGlobalClass为true是表示你在class里用的样式可以影响input,并没说placeholder-class可以直接影响input,所以你应该在你封装的input中加入属性保存这个样式名,然后将这个变量赋值给微信input

    08-21
    赞同
    回复 1
    • 差不多姑娘、
      差不多姑娘、
      08-21
      这样本质上不也是把样式名赋值给placeholder-class吗,我试了下也不行
      08-21
      回复
问题标签