代码之家  ›  专栏  ›  技术社区  ›  Carlos Salazar

shift+enter键按下vue时触发事件

  •  0
  • Carlos Salazar  · 技术社区  · 7 年前

    shift+enter 被按下

    这是我的 text field

    <v-text-field
      @click="answer"
      v-model="text"
      append-icon="send"
      :append-icon-cb="sendMessage"
      label="Write your message..."
      @keyup.native.enter="sendMessage()"
      :multi-line="true"
      :auto-grow="true"
      :rows="1"
      :hide-details="true"
      flat
      solo>
      <v-icon slot="append-icon">send</v-icon>
    </v-text-field>
    

    当只有 shift + enter

    0 回复  |  直到 7 年前
        1
  •  1
  •   Alexey Isaev    7 年前
    <v-textarea auto-grow id="message-area"
    placeholder="Write message"
        rows="1"
        solo 
        flat
        v-model="message"
        hide-details
        @keyup.enter="sendMessage"
     >
    </v-textarea> 
    
    mounted() {
        sendMessage: function (event) {
            if (event.shiftKey===true && event.key === "Enter") {
               console.log("New line added, message not sended")
               return;
           }
           console.log("Message sended")
    }
    
        2
  •  0
  •   kat    7 年前
    mounted() {
      let self = this;
      window.addEventListener("keypress", function(event) {
          if (event.isShiftKeyDown() && event.keyCode === 13) {
            console.log("pressed");
          }
          event.preventDefault();
      });
    }
    

    • 如果同时按下shift键和keyCode='13'(对于enter键)则有条件

    • 您可以编写自定义函数来代替console.log(“pressed”)

        3
  •  0
  •   ego    5 年前

    设置 @keydown.enter.shift.exact="onSave" onSave 方法,因为侦听keydown未连接到vuetify验证/规则逻辑。

    推荐文章