vux icon indicating copy to clipboard operation
vux copied to clipboard

[Bug Report] 日期时间选择控件的内容字体颜色被固定为`#999`

Open Haixing-Hu opened this issue 6 years ago • 2 comments

VUX version

2.9.2

OS/Browsers version

All operating system / All browser

Vue version

2.5.17

Code

<template>
  <group class="form" label-width="4.5em" label-margin-right="1em" label-align="right">
    <x-input title="姓&emsp;&emsp;名" v-model="name"
             placeholder="请填写姓名">
    </x-input>
    <datetime title="出生日期" v-model="birthday"
              placeholder="请选择出生日期" value-text-align="left"
               format="YYYY-MM-DD">
    </datetime>
  </group>
</template>

<script>
import {
  Group,
  XInput,
  Datetime,
} from 'vux';

export default {
  name: 'test-form',
  components: {
    Group,
    XInput,
    Datetime,
  },
  data() {
    return {
      name: '',
      birthday: '',
    };
  },
};
</script>
<style>
.form {
  color: red;
}
</style>

Steps to reproduce

  1. 创建一个简单的Vue项目;
  2. 使用上述代码实现一个简单的表单,包含一个XInput和一个Datetime控件;
  3. .form的字体颜色设置为红色;
  4. 表单上的XInput控件的标题字体为红色,输入的内容字体也为红色;
  5. Datetime控件的标题字体颜色永远固定为黑色(此问题已在 #3259 中报告),且选择后显示的日期的字体颜色永远固定位#999
  6. 从源码上来看,这是因为 .vux-cell-value的字体颜色被设置为固定的#999,应该设置为inherit

What is Expected?

表单上的XInput控件的标题字体为红色,,输入的内容字体也为红色; Datetime控件的标题字体颜色应该是红色,且选择后显示的日期的字体颜色也应该是红色;

What is actually happening?

表单上的XInput控件的标题字体为红色,,输入的内容字体也为红色; Datetime控件的标题字体颜色固定为黑色,且选择后显示的日期的字体颜色固定为#999

测试样例截图

Haixing-Hu avatar Nov 25 '18 09:11 Haixing-Hu

这个bug的根源在于日期时间控件中显示选择值的元素应该具有CSS类 .weui-input 而不是 .vux-cell-value,因为本质上日期时间选择控件也是个输入框,应该和其他输入框样式一致。

Haixing-Hu avatar Nov 25 '18 09:11 Haixing-Hu

好吧,仔细看了源码,最后发现是 Datetime 控件模板部分html的写法没有遵循WeUI的标准,写的太乱了。重写了一遍。

Haixing-Hu avatar Nov 25 '18 10:11 Haixing-Hu