| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- <template>
- <div>
- <el-form-item label="占位内容">
- <el-input v-model="data.placeholder"
- clearable
- placeholder="占位内容"></el-input>
- </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-color",
- 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>
|