d406c00067f927e8bb4530ac4f64af8dcb7633c7.svn-base 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <template>
  2. <a-card :bordered="false">
  3. <a-form-model ref="form" :model="model" :rules="rules" @submit="handleSubmit">
  4. <a-row>
  5. <a-col :md="24" :sm="24">
  6. <a-form-model-item label="Note" prop="note" :labelCol="{ span: 7 }" :wrapperCol="{ span: 15 }">
  7. <a-input v-model="model.note"/>
  8. </a-form-model-item>
  9. </a-col>
  10. </a-row>
  11. <a-row>
  12. <a-col :md="24" :sm="24">
  13. <a-form-model-item label="Gender" prop="gender" :labelCol="{ span: 7 }" :wrapperCol="{ span: 15 }">
  14. <a-select v-model="model.gender" placeholder="Select a option and change input text above" @change="handleSelectChange">
  15. <a-select-option value="male">male</a-select-option>
  16. <a-select-option value="female">female</a-select-option>
  17. </a-select>
  18. </a-form-model-item>
  19. </a-col>
  20. </a-row>
  21. <a-row>
  22. <a-col :md="24" :sm="24">
  23. <a-form-model-item label="Gender" prop="cascader" :labelCol="{ span: 7 }" :wrapperCol="{ span: 15 }">
  24. <a-cascader :options="areaOptions" @change="onChange" :showSearch="{filter}" placeholder="Please select" />
  25. </a-form-model-item>
  26. </a-col>
  27. </a-row>
  28. <a-form-model-item :wrapperCol="{ span: 12, offset: 5 }">
  29. <a-col :md="24" :sm="24">
  30. <a-form-model-item :wrapperCol="{ span: 12, offset: 5 }">
  31. <a-button type="primary" htmlType="submit">Submit</a-button>
  32. </a-form-model-item>
  33. </a-col>
  34. </a-form-model-item>
  35. </a-form-model>
  36. </a-card>
  37. </template>
  38. <script>
  39. import { getAction } from '@/api/manage'
  40. export default {
  41. props: ['sex','name'],
  42. data () {
  43. return {
  44. formLayout: 'horizontal',
  45. model: {},
  46. rules: {
  47. note: [{required: true, message: 'Please input your note!'}],
  48. gender:[{ required: true, message: 'Please select your gender!' }]
  49. },
  50. areaOptions:[]
  51. }
  52. },
  53. methods: {
  54. handleSubmit (e) {
  55. e.preventDefault()
  56. this.$refs.form.validate((ok, err) => {
  57. if (ok) {
  58. console.log('Received values of form: ', this.model)
  59. this.$message.success('succeed!')
  60. }
  61. })
  62. },
  63. handleSelectChange (value) {
  64. console.log(value)
  65. this.model.note = `Hi, ${value === 'male' ? 'man' : 'lady'}!`
  66. },
  67. onChange(value, selectedOptions) {
  68. console.log(value, selectedOptions);
  69. },
  70. filter(inputValue, path) {
  71. return (path.some(option => (option.label).toLowerCase().indexOf(inputValue.toLowerCase()) > -1));
  72. },
  73. },
  74. created (){
  75. console.log('============= online href common props ============= ');
  76. console.log('props sex: ',this.sex);
  77. console.log('props name: ',this.name);
  78. getAction('/mock/api/area').then((res) => {
  79. console.log("------------")
  80. console.log(res)
  81. this.areaOptions = res;
  82. })
  83. },
  84. watch: {
  85. $route: {
  86. immediate: true,
  87. handler() {
  88. console.log('============= online href $route props ============= ');
  89. let sex = this.$route.query.sex
  90. console.log('$route sex: ', sex);
  91. }
  92. }
  93. },
  94. }
  95. </script>