slider.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import uniqueId from '@form-create/utils/lib/unique'
  2. import { localeProps, makeRequiredRule } from '../../utils/formCreateIndex'
  3. const label = '滑块'
  4. const name = 'slider'
  5. export default {
  6. icon: 'icon-slider',
  7. label,
  8. name,
  9. rule({ t }) {
  10. return {
  11. type: name,
  12. field: uniqueId(),
  13. title: t('components.slider.name'),
  14. info: '',
  15. $required: false,
  16. props: {}
  17. }
  18. },
  19. props(_, { t }) {
  20. return localeProps(t, name + '.props', [
  21. makeRequiredRule(),
  22. {
  23. type: 'inputNumber',
  24. field: 'min',
  25. title: '最小值',
  26. props: { min: 0 }
  27. },
  28. {
  29. type: 'inputNumber',
  30. field: 'max',
  31. title: '最大值',
  32. props: { min: 0 }
  33. },
  34. { type: 'switch', field: 'disabled', title: '是否禁用' },
  35. {
  36. type: 'inputNumber',
  37. field: 'step',
  38. title: '步长',
  39. props: { min: 0 }
  40. },
  41. { type: 'switch', field: 'showInput', title: '是否显示输入框,仅在非范围选择时有效' },
  42. {
  43. type: 'switch',
  44. field: 'showInputControls',
  45. title: '在显示输入框的情况下,是否显示输入框的控制按钮',
  46. value: true
  47. },
  48. { type: 'switch', field: 'showStops', title: '是否显示间断点' },
  49. {
  50. type: 'switch',
  51. field: 'range',
  52. title: '是否为范围选择'
  53. },
  54. { type: 'switch', field: 'vertical', title: '是否竖向模式' },
  55. {
  56. type: 'input',
  57. field: 'height',
  58. title: 'Slider 高度,竖向模式时必填'
  59. }
  60. ])
  61. }
  62. }