Chromium HTML5 新的 Input 类型week对应c++

一、Input 类型: week

week 类型允许你选择周和年。

html 复制代码
<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>test</title> 
</head>

<body>

<form action="demo-form.php">
  选择周: <input type="week" name="year_week">
  <input type="submit">
</form>

</body>
</html>

二、week c++定义:

third_party\blink\renderer\core\html\forms\week_input_type.h

third_party\blink\renderer\core\html\forms\week_input_type.cc

cpp 复制代码
namespace blink {

class WeekInputType final : public BaseTemporalInputType {
 public:
  explicit WeekInputType(HTMLInputElement& element)
      : BaseTemporalInputType(Type::kWeek, element) {}

 private:
  void CountUsage() override;
  StepRange CreateStepRange(AnyStepHandling) const override;
  bool ParseToDateComponentsInternal(const String&,
                                     DateComponents*) const override;
  bool SetMillisecondToDateComponents(double, DateComponents*) const override;
  void WarnIfValueIsInvalid(const String&) const override;

  // BaseTemporalInputType functions
  String FormatDateTimeFieldsState(const DateTimeFieldsState&) const override;
  void SetupLayoutParameters(DateTimeEditElement::LayoutParameters&,
                             const DateComponents&) const override;
  bool IsValidFormat(bool has_year,
                     bool has_month,
                     bool has_week,
                     bool has_day,
                     bool has_ampm,
                     bool has_hour,
                     bool has_minute,
                     bool has_second) const override;
  String AriaLabelForPickerIndicator() const override;
};

template <>
struct DowncastTraits<WeekInputType> {
  static bool AllowFrom(const InputType& type) {
    return type.IsWeekInputType();
  }
};

}  // namespace blink
相关推荐
你也来冲浪吗7 分钟前
MD编辑器用法讲解
前端
大锦终9 分钟前
【C++】继承
c语言·开发语言·数据结构·c++
小小小小宇10 分钟前
十万字总结所有React hooks(含简单原理)
前端
MariaH15 分钟前
MySQL数据库DQL
前端
Enjoy102417 分钟前
v8垃圾回收机制
前端
Georgewu17 分钟前
【HarmonyOS 5】敏感信息本地存储详解
前端·harmonyos
_Le_23 分钟前
css 小师系列:一种新的影响样式优先级的方式😍
前端·css
希望_睿智26 分钟前
C++网络编程之SSL/TLS加密通信
c++·网络协议·安全
wordbaby26 分钟前
从前端视角看 MCP:解锁 LLM 工具调用与结构化交互
前端
CodePencil28 分钟前
CSS专题之CSS单位
前端·css