AppDeployControlKey.vue 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <template>
  2. <div class="app-deploy-control-key">
  3. <el-input-number
  4. v-if="keyType === 'number'"
  5. v-model="data"
  6. style="width: 100%"
  7. :controls="false"
  8. placeholder="请输入数字"
  9. @change="dataChange"
  10. ></el-input-number>
  11. <el-date-picker
  12. v-if="keyType === 'time'"
  13. v-model="data"
  14. type="datetime"
  15. style="width: 100%"
  16. value-format="timestamp"
  17. placeholder="选择日期时间"
  18. @change="dataChange"
  19. >
  20. </el-date-picker>
  21. </div>
  22. </template>
  23. <script>
  24. export default {
  25. name: "app-deploy-control-key",
  26. props: {
  27. value: { type: [Number, String] },
  28. keyType: {
  29. type: String,
  30. default: "number",
  31. validator: (val) => ["number", "time"].includes(val),
  32. },
  33. },
  34. watch: {
  35. value: {
  36. immediate: true,
  37. handler(val) {
  38. this.data = val;
  39. },
  40. },
  41. },
  42. data() {
  43. return {
  44. data: null,
  45. };
  46. },
  47. methods: {
  48. dataChange() {
  49. // console.log(this.data);
  50. this.$emit("input", this.data);
  51. this.$emit("change", this.data);
  52. },
  53. },
  54. };
  55. </script>