iview.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <?php
  2. namespace App;
  3. require '../vendor/autoload.php';
  4. use FormBuilder\Factory\Iview;
  5. use FormBuilder\Handle\ElmFormHandle;
  6. use FormBuilder\Handle\IviewFormHandle;
  7. use FormBuilder\FormHandle;
  8. use FormBuilder\UI\Elm\Components\Checkbox;
  9. use FormBuilder\UI\Elm\Components\Rate;
  10. use FormBuilder\UI\Iview\Components\DatePicker;
  11. class GoodsForm extends IviewFormHandle
  12. {
  13. protected $action = 'save.php';
  14. protected $title = '测试 Handle';
  15. protected $fieldTitles = [
  16. 'start_time' => '开启时间',
  17. 'star' => '点赞'
  18. ];
  19. protected $scene = 'get';
  20. protected function getScene()
  21. {
  22. $this->except = ['goods_name'];
  23. }
  24. public function goods_name_field()
  25. {
  26. return Iview::input('goods_name', '商品名称')->required();
  27. }
  28. public function goods_info_field()
  29. {
  30. return Iview::textarea('goods_info', '商品简介');
  31. }
  32. public function is_open_field()
  33. {
  34. return Iview::switches('is_open', '是否开启');
  35. }
  36. public function id_field()
  37. {
  38. return Iview::hidden('1', '1');
  39. }
  40. public function frame_field()
  41. {
  42. return Iview::frame('as', 'asd', 'afsdfasdf');
  43. }
  44. public function test_field()
  45. {
  46. return Iview::dateTime('aaa', 'aaa')->required();
  47. }
  48. public function row_field()
  49. {
  50. return [
  51. 'type' => 'row',
  52. 'children' => [
  53. [
  54. 'type' => 'input',
  55. 'field' => 'row',
  56. 'title' => 'test Row',
  57. 'value' => '123',
  58. 'col' => [
  59. 'span' => 12
  60. ]
  61. ],
  62. Iview::input('row2', 'row2', 'asdf')->col(12)
  63. ],
  64. 'native' => true
  65. ];
  66. }
  67. /**
  68. * 通过依赖注入方式生成组件
  69. *
  70. * @param DatePicker $date
  71. * @return DatePicker
  72. */
  73. public function start_time_field(DatePicker $date)
  74. {
  75. return $date->required()->info('asdfasdfasdfsf');
  76. }
  77. public function starField(Rate $rate)
  78. {
  79. return $rate;
  80. }
  81. protected function getFormConfig()
  82. {
  83. $config = Iview::config();
  84. $config->createResetBtn()->show(true);
  85. return $config;
  86. }
  87. protected function getFormData()
  88. {
  89. return [
  90. 'goods_name' => 'goods_name123',
  91. 'asdf' => 'asdfafd',
  92. 'is_open' => '0',
  93. 'goods_info' => "asdf\r\nadfa",
  94. 'start_time' => '1999-11-11',
  95. 'star' => 0,
  96. 'row' => 'adsfasdfasd'
  97. ];
  98. }
  99. }
  100. $formHtml = (new GoodsForm())->view();
  101. //$formHtml = (new GoodsForm())->form()->view();
  102. echo $formHtml;