Index.vue 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <template>
  2. <div>
  3. <h3 :style="{ marginBottom: '16px' }">
  4. demo4 快捷键
  5. </h3>
  6. <a-row :gutter="[16,16]">
  7. <a-col :span="24">
  8. 窗口最小化
  9. <a-form @submit="handleSubmit" :form="form">
  10. <a-form-item>
  11. <hot-key-input
  12. style="width: 100%;"
  13. :hotkey.sync="hotKeyObj.keys"
  14. :verify="handleHotkeyVerify"
  15. :max="1"
  16. type="lowser"
  17. :reset="true"
  18. :shake="false"
  19. :range="null"
  20. placeholder="快捷键">
  21. </hot-key-input>
  22. </a-form-item>
  23. <a-form-item
  24. :wrapperCol="{ span: 24 }"
  25. style="text-align: center"
  26. >
  27. <a-button htmlType="submit" type="primary">保存</a-button>
  28. </a-form-item>
  29. </a-form>
  30. </a-col>
  31. </a-row>
  32. </div>
  33. </template>
  34. <script>
  35. import { localApi } from '@/api/main'
  36. export default {
  37. components: {},
  38. data() {
  39. return {
  40. form: this.$form.createForm(this),
  41. cmd: '',
  42. hotKeyObj: {
  43. tab: 'save',
  44. keys: ['Ctrl+k']
  45. },
  46. };
  47. },
  48. methods: {
  49. handleHotkeyVerify(hotkey) {
  50. console.log('组合键:', hotkey)
  51. return true;
  52. },
  53. handleSubmit (e) {
  54. e.preventDefault()
  55. console.log('submit 验证:', this.hotKeyObj)
  56. const shortcutStr = this.hotKeyObj.keys[0];
  57. const params = {
  58. id: 'mini_window',
  59. name: '窗口最小化',
  60. cmd: shortcutStr
  61. }
  62. localApi('setShortcut', params).then(res => {
  63. if (res.code !== 0) {
  64. // this.$message.info('error')
  65. return false
  66. }
  67. this.$message.info('设置成功,请按【设置的快捷键】查看效果')
  68. }).catch(err => {
  69. console.log('err:', err)
  70. })
  71. this.form.validateFields((err, values) => {
  72. if (!err) {
  73. console.log('Received values of form: ', values)
  74. }
  75. })
  76. }
  77. }
  78. };
  79. </script>
  80. <style></style>