ハッピーメモメモ

私的備忘録

【Javascript】入力フォームにデフォルトで今日の日付をいれる

HTMLでは実現できないので、Javascriptを用いる

input type="date"を使った日付入力フォーム - Qiita

→getElementById()をマウント後に使うと、DOM要素が確定したあとにHTML要素を書き換えようとして失敗する!

 

対策

・書き換えをset up() のdataに対して行う

  setup() {
    const data = reactive({
      user_id: "",
      checkout_date: "",
    });
    onMounted*1;
      const yyyy = today.getFullYear();
      const mm = ("0" + (today.getMonth() + 1)).slice(-2);
      const dd = ("0" + today.getDate()).slice(-2);
      data.checkout_date = yyyy + "-" + mm + "-" + dd;
    });
}

・Day.jsを使う

・データが変更されると、コンポーネントに再読み込みがかかる。

 再読み込みはコンポーネントごとに行われるので、

 影響を与えたくないものはコンポーネントを分けて表示する。

 

困ったときはチェック!

・なんかうまくいってないな~ってときは、ターミナルで「npm run watch」がエラー吐いてないかみてみるといいよ!

*1:) => {

      const today = new Date();
      today.setDate(today.getDate(