| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <template>
- <div>
- <el-form-item label="占位内容">
- <el-input v-model="data.placeholder"
- clearable
- placeholder="占位内容"></el-input>
- </el-form-item>
- <el-form-item label="尺寸">
- <el-radio-group v-model="data.size"
- size="mini">
- <el-radio-button label="medium">正常</el-radio-button>
- <el-radio-button label="small">小</el-radio-button>
- <el-radio-button label="mini">超小</el-radio-button>
- </el-radio-group>
- </el-form-item>
- <el-form-item label="是否禁用">
- <el-switch v-model="data.disabled"></el-switch>
- </el-form-item>
- <el-form-item label="是否可见">
- <el-switch v-model="data.display"></el-switch>
- </el-form-item>
- <el-form-item label="是否必填">
- <el-switch v-model="data.required"></el-switch>
- </el-form-item>
- </div>
- </template>
- <script>
- export default {
- name: 'config-array',
- props: ['data'],
- data() {
- return {
- validator: {
- type: null,
- required: null,
- pattern: null,
- length: null
- }
- }
- },
- methods: {
- generateRule() {
- const rules = [];
- Object.keys(this.validator).forEach(key => {
- if (this.validator[key]) rules.push(this.validator[key])
- })
- this.data.rules = rules
- },
- },
- watch: {
- 'data.required': function (val) {
- if (val) this.validator.required = { required: true, message: `請输入${this.data.label}` }
- else this.validator.required = null
- this.generateRule()
- }
- }
- }
- </script>
|